gpt4 book ai didi

c# - Discord 机器人只显示不和谐版本

转载 作者:太空宇宙 更新时间:2023-11-03 14:39:29 25 4
gpt4 key购买 nike

我编写了一个 discord 机器人并尝试连接到我的服务器。但是当我尝试连接时,我只看到了 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。

最佳答案

您要么在 Discord Dev Site 错误地创建了机器人,输入错误的 token ,或者甚至可能没有邀请机器人到您的不和谐服务器(尽管我怀疑这会导致等待暂停)。

此外,正如@Anu6is 在评论中所说:

Try wrapping your call to connect() in Task.Run() --- _ = Task.Run( () => discord.connect());

希望这对您有所帮助!

关于c# - Discord 机器人只显示不和谐版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57935091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com