c# - 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);
}
}
解决方案
这是一个文本通道
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);
}
推荐阅读
- angular9 - 移动设备上的 Angular 9:错误:Zone.js 检测到 ZoneAwarePromise
- wix - Wix InstallExecuteSequence 在支持第 47 个 msi 实例时抛出错误
- javascript - Mongoose Document.set 未保存到实际数据库
- java - 为 Cordapp 多次调用 Controller 类中的 HTTP 路由
- webpack - 提供带有 preact 配置的插件
- python - 未找到带有关键字参数“{'pk': 1}”的“project_detail”的反向操作。尝试了 1 种模式:['projects//int:pk/$']
- ethereum - ERC20 合约无法转移大额代币
- spring - 如何将自定义 SSL 证书注入 springbok bootBuildImage
- reactjs - events.js:288 错误:使用 Jest 执行测试时写入 EPIPE
- php - 为 wordpress 主题导入示例数据会出现错误:无法使用 WP_Error 类型的对象作为 import.php 中的数组