首页 > 解决方案 > C# Discord.Net“上下文”

问题描述

我看到每个人都在使用任何称为“上下文”的东西,并且 90% 用 来定义它Discord.Commands.SocketCommandContext,现在我想创建一个机器人,它能够在不使用命令的情况下读取频道中的所有用户,就在机器人连接时它应该带上已定义频道的所有用户的列表。

我所做的一切都不起作用,它总是用“#”打印机器人的名称。

源码部分:

var guild = _client.GetGuild(1234);
        var channel = guild.GetChannel(1234);
        var users = guild.Users;
        while (true)
        {
            await Task.Delay(5000);
            foreach (IGuildUser guser in users)
            {
                Console.WriteLine(guser);
            }
        } 

标签: c#discord

解决方案


这是一个文本通道

var guild = this.client.GetGuild(123);
            var channel = guild.GetTextChannel(123);
            foreach (var user in channel.Users)
            {
                Console.WriteLine(user);
            }

这是一个语音频道

var guild = this.client.GetGuild(123);
            var channel = guild.GetChannel(123);
            foreach (var user in channel.Users)
            {
                Console.WriteLine(user);
            }

这是给公会的

var guild = this.client.GetGuild(123);
            foreach (var user in guild.Users)
            {
                Console.WriteLine(user);
            }

推荐阅读