Я работал над ботом Discord в течение последних нескольких дней, и мне удалось заставить работать одну из функций: (команда, которая устанавливает сообщение, которое она должна отправлять пользователям dm, когда они присоединяются). Кажется, я не могу заставить бота отправлять фактическое сообщение.
private async Task Join(SocketGuildUser UID)
{
if (UID.IsBot || UID.IsWebhook) return;
Welcometxt= File.ReadAllText([FILE]);
await UID.SendMessageAsync("Your Message Was Sucessfully set!");
}
private async Task HandleCommandAsync(SocketMessage arg)
{
var message = arg as SocketUserMessage;
var context = new SocketCommandContext(_client, message);
if (message.Author.IsBot) return;
int argPos = 0;
if (message.HasStringPrefix("!", ref argPos))
{
var result = await _commands.ExecuteAsync(context, argPos, _services);
if (!result.IsSuccess) Console.WriteLine(result.ErrorReason);
}
}
Когда я проверяю журналы, он выдает ошибку нулевой ссылки с сообщением и контекстом var, я попытался погуглить об ошибке и изменить код, но безрезультатно? Я считаю, что ошибка в одном из этих двух методов, но я не на 100% положительный
UserJoined
обработчик событий. - person Cuppyzh   schedule 30.11.2020