Discord bot仅显示Discord版本

时间:2019-09-14 11:32:19

标签: c# bots discord discord.net

我已经编程了一个不和谐的bot并尝试连接到我的服务器。但是,当我尝试连接时,仅显示了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。

1 个答案:

答案 0 :(得分:0)

您或者在Discord Dev Site上错误地创建了漫游器,错误键入了令牌,或者甚至没有邀请漫游器进入不和谐的服务器(尽管我怀疑这会导致等待等待)。

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

  

尝试在connect()中包装对Task.Run()的呼叫--- _ = Task.Run( () => discord.connect());

希望这会有所帮助!