Если вы хотите получить ник автора, вы можете преобразовать его в SocketGuildUser, , но будьте осторожны, он может быть нулевым, если это DM .
var UNick = (message.Author as SocketGuildUser).Nickname;
Также вам, вероятно, следует проверьте, пришло ли сообщение от пользователя, а не от системы
if (!(sockMessage is SocketUserMessage msg))
return;
Таким образом, ваш код будет выглядеть примерно так
private async Task MessageReceivedAsync(SocketMessage sockMessage)
{
// Check if a user posted the message
if (!(sockMessage is SocketUserMessage msg))
return;
// Check if it is not a DM
if (!(msg.Author as SocketGuildUser author))
return;
if (StartBit == 0)
{
await message.Channel.SendMessageAsync("Test");
}
StartBit = 1;
// I usualy check if the author is not bot, but you can change that back
if (message.Author.IsBot)
return;
var UName = author.Username;
var UNick = author.Nickname;
var UID = author.Id;
}
Кредит на Anu6is