C# Discord.Net“上下文”

Posted

技术标签:

【中文标题】C# Discord.Net“上下文”【英文标题】:C# Discord.Net "Context" 【发布时间】:2021-09-13 15:56:31 【问题描述】:

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

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

来源部分:

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);
            
         

【问题讨论】:

【参考方案1】:

这是一个文本通道

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);
            

【讨论】:

以上是关于C# Discord.Net“上下文”的主要内容,如果未能解决你的问题,请参考以下文章

Discord.NET '对象引用未设置为对象的实例。 C# [重复]

Discord.NET C# MessageReceived 被调用太多次

Discord.NET c# SocketUser 返回 null

对于 AddModulesAsync (C# Discord.Net),我没有正确的论据

C# Discord.NET 加入语音频道时出错

如何使用嵌入discord.net webhook c#发送文件附件