我的代码起作用了。只有一个问题,那就是在调用任何命令后,我的on_message被调用(这会导致一些副作用)
async def delete_on_swear(message):
if not message:
return
db = sqlite3.connect('main.sqlite')
cursor = db.cursor()
try:
guild_id = message.guild.id
except AttributeError:
return
cursor.execute(f'SELECT word FROM badwords WHERE guild_id={guild_id}')
swears = [swear[0] for swear in cursor.fetchall()]
if not swears:
return
if bot.user == message.author:
return
for swearword in swears:
if not message.channel.is_nsfw() and is_substring(message.content.lower(), swearword):
await message.delete()
await message.author.create_dm()
await message.author.dm_channel.send(
f'Hi {message.author}, you sent a message containing the following word: {swearword}'
)
return```
on_message
在机器人可以查看的任何通道中发送任何消息后运行。在您的on_message
的顶部,放置以下代码以防止机器人对自己的消息执行操作:
if message.author == bot.user:
return
我正在制作一个工作正常的不和谐机器人,但是我想开始使用齿轮,因为我认为这是编写代码的更好的方式,但是现在我的on_message不再工作了,它也没有显示任何错误信息,我在整个互联网和所有的解释对我都不起作用,所以我决定在这里问。这是我的代码:
我正试图按照以下说明为Dash生成文档集:http://kapeli.com/docsets.问题是,脚本在wget之后不会继续,并且似乎不会抛出任何错误。当我把脚本复制到终端时,一切都很好。 我使用的是MacOS 10.8.4和默认的bash。 我查看了其他帖子,比如我的shell脚本在exec之后停止,但我没有在这里使用exec。 为什么脚本退出?
问题内容: 我正在尝试编写一个超级简单的文件来在Go项目中运行测试。项目的依赖项已供应,但我想跳过这些测试。从命令行运行时,我只是做 但是,当我把它变成这样的时候: 该表达式将不被评估: 我如何获得make以类似shell的方式插值表达式的方法? 问题答案: 在Makefile配方部分中,您将需要使用escape 使用第二个:
问题内容: 我有一个已创建的组件: 当我打开此页面时,我的中的每个页面都会被调用。如果我喜欢: 我还可以使用匿名函数: 然后它会按预期工作。为什么会这样? 问题答案: 您需要传递对函数的 引用 ,当您这样做时调用函数并传递给从返回的值。您可以使用以下三个选项之一: 1 。使用 2 。使用箭头功能 3 。或从返回函数
我正在尝试实现一个带有头和尾引用的单链表。为了测试我的脚本,我创建了一个toString()方法,它能够打印出列表中的每个节点。但是,每次调用该方法时,我似乎都进入了一个无限循环,我似乎无法弄清楚为什么。有人能给我一些关于这一点的见解吗?请参阅下面的SinglyLinkedList.java文件。 这是我的SingleLinkedListNode。java文件。