不和谐机器人只显示不和谐版本

Posted

技术标签:

【中文标题】不和谐机器人只显示不和谐版本【英文标题】:Discord bot just show discord version 【发布时间】: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( () =&gt; discord.connect()); 哇,还是没有答案?让我看看我能做什么。 只要确保 "" 被替换为您的实际令牌,对吗? 【参考方案1】:

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

另外,正如@Anu6is 在 cmets 中所说:

尝试将您对connect() 的呼叫封装在Task.Run() --- _ = Task.Run( () =&gt; discord.connect());

希望这会有所帮助!

【讨论】:

以上是关于不和谐机器人只显示不和谐版本的主要内容,如果未能解决你的问题,请参考以下文章

如何在不和谐机器人中显示用户自己对他人推文的转发?

python asyncio中的不和谐机器人

如何让不和谐机器人回答我的命令

为啥我的不和谐机器人只执行一次我的命令,而且只执行一次?

如何使用不和谐机器人从不和谐频道随机发布文本?

如何让我的不和谐机器人只读取某个频道中的内容