Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何修复“参数未填充”错误?_Python_Sqlite_Discord_Discord.py_Listener - Fatal编程技术网

Python 如何修复“参数未填充”错误?

Python 如何修复“参数未填充”错误?,python,sqlite,discord,discord.py,listener,Python,Sqlite,Discord,Discord.py,Listener,我最近很紧张。在这里,根据反应创建一张票据。在这里,如果仍然有一个票据为用户打开,当再次按下反应时,bot应该输出已经创建了票据。但是,您已经创建了一个票证,它会一次又一次地出现,尽管我以前从未创建过票证。然后我检查了用于创建反应消息的命令,发现最后一行中缺少了一些内容。如下所示: self.enable\u reactionsticket\u msg.id,strreaction[0]。表情符号 但是,此处缺少reactor_id,因此进程也不是完全由bot执行的,如下面的消息,然后显示为空嵌

我最近很紧张。在这里,根据反应创建一张票据。在这里,如果仍然有一个票据为用户打开,当再次按下反应时,bot应该输出已经创建了票据。但是,您已经创建了一个票证,它会一次又一次地出现,尽管我以前从未创建过票证。然后我检查了用于创建反应消息的命令,发现最后一行中缺少了一些内容。如下所示:

self.enable\u reactionsticket\u msg.id,strreaction[0]。表情符号 但是,此处缺少reactor_id,因此进程也不是完全由bot执行的,如下面的消息,然后显示为空嵌入:

除: 错误\u嵌入=不协调。嵌入 描述=Oops!在完成安装过程中出现问题!请再试一次!, 颜色=self.bot.color 错误\u embed.timestamp=datetime.datetime.utcnow 等待ctx.sendembed=错误\u嵌入 其他: 已完成\u嵌入=不协调。嵌入 描述=完美!如果一切正常,您可以在指定的频道中看到消息。, 颜色=self.bot.color 等待ctx.sendembed=完成\u嵌入 这些代码行出现在self.enable\u反应之后。我想这也与以下事实有关:没有创建票证,并且出现“您已经有票证”的错误消息

我试图解决这个问题是为了定义reactor_id,但是我没有找到任何地方,因为它是数据库中的一个条目。 要创建票据,我定义了以下内容:

def enable_reactionself,消息_id:int,反应:str,反应器_id:int: 游标=反作用连接游标 cursor.execute '如果不存在,则创建表\u消息消息\u id INT,反应文本,反应器\u id INT' cursor.execute'INSERT INTO ticket_messages_id,reaction,reactor_id VALUES?,?,?',执行'INSERT INTO ticket_messages_id,reaction,reactor_id VALUES', 消息id、反应、反应器id 光标。关闭 反应与承诺 log.debugf'Ticket per reaction created for message ID{message_ID}' 然后使用以下命令最终创建票据a@commands.Cog.listener:

游标=反作用连接游标 cursor.execute '如果不存在,则创建表\u消息消息\u id INT,反应文本,反应器\u id INT' cursor.execute'SELECT reaction FROM ticket_messages WHERE reactor_id=?',payload.user_id, row=cursor.fetchone 光标。关闭 反应与承诺 如果行不是None且行[0]==strpayload.emoji: 等待self.createticketbuild,user,None,f通过reaction创建。更新此项以添加用户\u数据 channel=self.bot.get\u channelpayload.channel\u id message=wait channel.fetch\u messagepayload.message\u id wait message.remove_reactionpayload.emoji,guild.get_memberpayload.user_id 其他: channel3=self.bot.get_channel812711563261247518 等待频道3.你已经有票了。ctx.send将不起作用
你能发送完整的回溯吗?实际上没有错误,但我有一个-空的嵌入显示我没有在self.enable.reactions中定义reactor_id。您是否希望查看创建过程的完整代码?请尝试打印该行,如果该行不是“无”,请检查表中的所有行。如果我执行“打印行”,则只会得到“无”而不是“无”。我将printrow添加到if row不是None和else:是否正确?对于第一个参数,我们什么也得不到,对于else参数,它是none。您是否检查了sqlite表中的行?哪些行已经存在,如果这不是问题所在,您的select查询可能是。