我正在使用Discord.NET应用编程接口创建一个不一致的机器人。我已经在我的机器人中实现命令和模块有一段时间了,我正在尝试添加一个ban命令到我的机器人中。我创建了这个命令,所以你必须有一个名为“机器人管理员”的角色。下面是我正在使用的代码,它似乎导致了这个问题:
public class Ban : ModuleBase<SocketCommandContext>
{
[Command("ban")]
[RequireBotPermission(GuildPermission.BanMembers)]
public async Task
我正在研究一个C# Discord.Net机器人,遇到了一个我认为我已经解决了的问题。我需要将消息中提到的用户称为“SocketGuildUser”。当我在我自己的用户上尝试它时,这是非常好的。然而,它并没有对我朋友的用户起作用。虽然它可以得到一个'SocketUnknownUser',但是它没有得到一个'SocketGuildUser',只是返回null。在我从他们身上移除某个角色后,机器人在几天内完全正常工作。然而,突然之间,它不再能够从我朋友的用户那里得到一个“SocketGuildUser”,而不会对相关代码进行任何更改。
以下是相关代码:
var us
我编写这段代码是为了将一个用户踢出一个不和谐的服务器的公会。
机器人控制台不会给我任何错误,但当我试图启动用户时,这段代码不能正常工作。我的意思是,它不会踢用户,也不会在通道中输出任何东西。
我还检查了机器人的权限,并更新了这些权限,这样就不会有问题了。
discord.net的版本为1.0.2
[Command("kick"), Alias("Kick"), Summary("Kicks a user from the server")]
public async Task Kick(SocketGuildUser userAc
我正在尝试通过编写(message.Author as SocketGuildUser).Roles来获取MessageReceived中用户的角色列表。但是,强制转换始终返回null。我也尝试使用Context.User,但它也返回null。这里我漏掉了什么?
这是我在转换行上放置断点时得到的异常:
System.InvalidCastException: Unable to cast object of type 'Discord.WebSocket.SocketGlobalUser' to type 'Discord.WebSocket.SocketGuildUs
用户类型:“测试”,如果用户有角色"vip“,则消息显示"you have permission”。
其他"you dont have permission“
我的代码:
Public Async Function onMsg(message As SocketMessage) As Task
If message.Source = MessageSource.Bot Then
Else
If message.Content.Contains("test") Then
Dim userName As S
我创建了一个不和谐的机器人使用Discord.Net,它正在观察来自多个协会的多个语音频道。我正在监听UserVoiceStateUpdated事件,因为每当用户加入一个被静音的观察到的语音通道时,该用户就应该被机器人静音。每当用户离开一个观察到的语音通道时,该用户应该得到非静音。
我有一个内存缓存保存所有观察到的语音通道的信息。每个info对象都提供以下信息
public class ObservedVoiceChannelInfo
{
public ulong VoiceChannelId { get; set; }
public bool Muted { get; set
我正在执行一个给出所提到的用户信息的!user @命令,但是在获得角色时,我得到了这个错误,无法将'Discord.WebSocket.SocketGlobalUser‘类型的对象强制转换为类型为。
我就是这样做的:
[Command("user")]
public async Task Info(string user)
var client = Context.Client;
ulong id = Convert.ToUInt64(user);
var socketUser = client.GetUser(id);
string a = string.Empty
我使用Google login Node登录,然后将GIDGoogleUser.authentication.idToken传递给服务器,然后在iOS JS中进行验证。下面代码中的验证工作正常。"payload“var对于用户的基本信息是正确的。
如何将idToken转换为可用于对people.get端点进行git的凭据?(我想知道用户是否在使用默认的谷歌头像,这可以从people.get端点获得。)这似乎在任何地方都没有文档记录。
var auth = new GoogleAuth;
var client = new auth.OAuth2(GoogleUtils.cli