Discordia bot DM 发送打破了我的脚本
2020-9-2 13:21:57
收藏:0
阅读:139
评论:2
我正在使用Discordia为我的Discord服务器创建一个机器人,但是当我尝试使用member:send(str)时,我得到的全部是未捕获的错误:C:/luvit/deps/coro-channel.lua:62: C:/luvit/deps/discordia/libs/containers/User.lua:91: attempt to call method 'getPrivateChannel' (a nil value)
它确实发送了DM,但是代码崩溃了,机器人不再运行,我该如何解决?
member是从消息中获取成员的变量
local member = message.member
点赞
用户15832266
如果消息内容转化为小写后等于前缀加上 'createdm',则执行以下操作:
message.channel:send("<@!"..memberid.."> ".. "已发送!") -- member.id !!!
message.member:send("测试") -- message.member 能够继承 message.author 的 send 方法
2021-05-04 11:50:28
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

我能够重现这个问题,尽管我遇到了不同的错误,我怀疑这是因为我没有你所有的代码进行调试。 机器人将发送直接消息并且发布一条消息,然后因为错误而崩溃。 你有这样的代码:
if message.content:lower() == prefix..'createdm' then message.channel:send("<@!"..memberid.."> ".. "Sent!") message.member:send("test") --message.member is able to inherit the send method from message.author end我不知道你是如何找到
memberid的,所以我这样定义它:memberid = message.member:__hash()每次发送一条消息时都会调用它并发送一条消息。这意味着机器人将调用它并阅读自己的消息。虽然机器人不会继续进入if语句,因为它的消息不是'<prefix>createdm',但它仍然会尝试获取memberid并评估if语句。我不知道机器人用户在他们的帐户元数据方面与人类用户有什么不同,但我强烈怀疑存在某些差异,这就是你的问题。我相信在你的代码中添加这个,在你评估消息的任何其他内容之前,在消息回调的开头将修复你的问题。
if message.author == client.user then return endclient这里是你分配给discordia.Client()的任何内容。