Код: Выделить всё
using Discord;
using Discord.WebSocket;
using System;
using System.Threading.Tasks;
class Program
{
private DiscordSocketClient _client;
public static void Main(string[] args)
=> new
Program().MainAsync().GetAwaiter().GetResult();
public async Task MainAsync()
{
_client = new DiscordSocketClient();
_client.Log += LogAsync;
string token = Environment.GetEnvironmentVariable("DISCORD_BOT_TOKEN");
if (string.IsNullOrEmpty(token))
{
Console.WriteLine("Bot token is missing. Please set the DISCORD_BOT_TOKEN environment variable.");
return;
}
await _client.LoginAsync(TokenType.Bot, token);
await _client.StartAsync();
_client.Ready += () =>
{
Console.WriteLine("Bot is connected!");
return Task.CompletedTask;
};
_client.MessageReceived += MessageReceivedAsync;
await Task.Delay(-1);
}
private async Task MessageReceivedAsync(SocketMessage message)
{
if (message.Author.IsBot || message.Author.IsWebhook)
return;
Console.WriteLine($"Received message: '{message.Content}' from {message.Author.Username}");
if (string.IsNullOrWhiteSpace(message.Content))
{
Console.WriteLine("Received an empty message.");
return;
}
if (message.Content.ToLower().Trim() == "!hello")
{
await message.Channel.SendMessageAsync("Hello!");
}
else
{
await message.Channel.SendMessageAsync($"You said: '{message.Content}'");
}
}
private Task LogAsync(LogMessage log)
{
Console.WriteLine(log.ToString());
return Task.CompletedTask;
}
}
Отладка, которая привела меня к выводу, что он считает его пустым, и включение намерения сообщения, которое ничего не сделало
Подробнее здесь: https://stackoverflow.com/questions/786 ... ge-content