为了账号安全,请及时绑定邮箱和手机立即绑定

Discord.NET 踢命令

Discord.NET 踢命令

C#
繁花不似锦 2022-06-12 10:52:33
所以我有一个正在为一个计算机科学项目开发的机器人,但我的 kick 命令不起作用。我试过注释掉更新 SQL 和 ReplyAsync 行,但它不会踢用户。我是否为用户使用了错误的数据类型?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);        }    }
查看完整描述

1 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

我设法修复它,由于字符串原因,我不得不删除默认值,并且在 InsertCommand 区域中,我忘记在 SQL 之后声明 OleDbConnection。



查看完整回答
反对 回复 2022-06-12
  • 1 回答
  • 0 关注
  • 125 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信