from discord.ext.commands import Bot
import secrets
from time import sleep
discordBot = Bot(command_prefix = ".")
listStrings = ['add a reaction', 'adnd']
@discordBot.event
async def on_read():
print('Client logged in')
@discordBot.command()
async def s(*args):
return await discordBot.say (" ".join(args))
@discordBot.command()
async def close():
quit()
discordBot.run(secrets.token)
我想说“.s(文本)”并且机器人说文本(已经工作)但是删除了你的信息,我该怎么做?我得到了on_message的部分工作:
@discordbot.event
async def on_message(message):
await discordBot.delete_message(message)
最好的方法是什么?提前谢谢。
答案 0 :(得分:0)
对不起你26天没找到答案了。如果您仍在寻找答案,我希望我能提供一些帮助。所以我运行你的代码,机器人运行命令,我的消息被删除,然后机器人的消息也被删除。解决此问题的一种方法是提供 if 语句,这意味着如果作者不一个机器人,机器人只会删除该消息。
$(document).ready(function(){
$("#text").keypress(function(event) {
if (event.which == 13) {
var s = $(this).val();
$(this).val(s+"\n"); //\t for tab
}
});
});
另一种仅删除命令消息的方法是使用另一个 if 语句。以下代码是特定的,因此您只删除命令,而不仅仅是所有用户的消息(如果它们不是机器人)。以下代码使用@test_bot.event
async def on_message(message):
if not (message.author).bot:
await test_bot.delete_message(message)
await test_bot.process_commands(message)
将消息作为字符串返回。
message.content