【发布时间】:2020-01-16 00:09:32
【问题描述】:
我编写了一个不和谐机器人并尝试连接到我的服务器。但是当我尝试连接时,我刚刚得到了 Discord 版本 Discord.Net v2.1.1 (API v6) 并且程序永远停留在 await _client.LoginAsync(TokenType.Bot, bot_token); 线上。
完整代码如下:
public class discord
{
private const string bot_token = "<token>";
public delegate void getMessage(string message);
public event getMessage ongetmessage;
private DiscordSocketClient _client;
public async Task MainAsync()
{
_client = new DiscordSocketClient(new DiscordSocketConfig() { LogLevel = LogSeverity.Verbose });
_client.Log += Log;
await _client.LoginAsync(TokenType.Bot, bot_token);
await _client.StartAsync();
// Block this task until the program is closed.
await Task.Delay(-1);
}
private Task Log(LogMessage msg)
{
ongetmessage(msg.ToString());
return Task.CompletedTask;
}
public void connect()
{
MainAsync().GetAwaiter().GetResult();
}
}
这是表单中的代码:
private void Discord_ongetmessage(string message)
{
if (InvokeRequired)
{
this.Invoke(new Action<string>(Discord_ongetmessage), new object[] { message });
return;
}
this.richTextBox1.AppendText(DateTime.Now + ": " + message + "\n");
}
private void btn_connect_Click(object sender, EventArgs e)
{
discord.connect();
}
我正在使用 nuget 包 Discord.net v2.1.1 和 Discord.net.core v2.1.1。
【问题讨论】:
-
尝试将您对
connect()的呼叫封装在Task.Run()---_ = Task.Run( () => discord.connect()); -
哇,还是没有答案?让我看看我能做什么。
-
只要确保 "
" 被替换为您的实际令牌,对吗?
标签: c# bots discord discord.net