c# - Discord.NET Kick Command
问题描述
So I have a bot I'm working on for a computer science project, and my kick command isn't working. I've tried commenting out the update SQL and the ReplyAsync lines but it just won't kick the user. Am I using the wrong datatype for the user?
public class Kick : ModuleBase<SocketCommandContext>
{
OleDbConnection con;
OleDbDataAdapter da;
[Command("kick")]
[RequireUserPermission(GuildPermission.KickMembers)]
[RequireBotPermission(GuildPermission.KickMembers)]
public async Task KickUser(IGuildUser user, string reason = "No reason provided")
{
con = new OleDbConnection();
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=BotDB.accdb";
da = new OleDbDataAdapter();
con.Open();
da.InsertCommand = new OleDbCommand($"UPDATE UserData SET NumKick = NumKick + 1 WHERE UserID = '{Convert.ToString(user.Id)}'");
da.InsertCommand.ExecuteNonQuery();
con.Close();
await ReplyAsync($"{user.Nickname} was kicked from the server for '{reason}'");
await user.KickAsync(reason);
}
}
解决方案
我设法修复它,由于字符串原因,我不得不删除默认值,并且在 InsertCommand 区域中,我忘记在 SQL 之后声明 OleDbConnection。
推荐阅读
- scikit-learn - clf.fit 是否保证返回 clf?
- java - 我将如何使用 java.util.Collections 来模拟 SQL INNER JOIN 操作?
- curl - 如何使用 curl 命令响应 Slack 线程
- saga - Saga 关联失败,因为 Scope 未激活
- qt - 将 QList 作为输出参数引用传递
- android - 使用颤振创建形状
- android - Android - SearchView 右侧添加可点击图标
- python - 当 numpy int32 数组转换为 float32 时,值会发生变化
- google-maps - 错误:[GoogleMaps]您需要执行“$> ionic cordova run browser”。不支持“$> ionic serve”
- python - 同时使用值列表拆分字符串