所以我考虑创建一个python discord bot,并且想知道如何创建一个记录所有内容的discord bot。我希望它能立即将消息,编辑,删除,邀请等记录到文本文件中。我看到.on_message(),但我不知道如何真正得到消息。任何想法?(这样做的目的是为学校俱乐部不和谐服务器创建一个日志,允许教师加入。除非他们有一种方法检查教师和学生之间的所有通信,否则他们无法加入。这个机器人将运行在学校服务器)
提前致谢。
答案 0 :(得分:0)
我建议您查看Client
documentation,因为所有编辑,删除,邀请都将通过客户端进行记录。我无法直接使用代码,因为我使用.js
而不是.py
答案 1 :(得分:0)
说实话,写入电子表格或数据库可能会更容易
我最近制作了一个可以执行此操作的机器人,并将所有消息上传到Google表格。您可以check it out here。如果您仍然想自己做,可以使用
@bot.event
async def on_message(message):
author = str(message.author)
content = str(message.content)
userid = str(message.author.id)
messageid = str(message.id)
time = str(message.created_at)
link = str(message.jump_url)
channel = str(message.channel)
row = [userid,author,content,time,messageid,link,channel]
然后将行写入电子表格或txt文件以记录消息
@bot.event
async def on_message_edit(before, after):
row = [before, after]
然后将行写入电子表格或txt文件
@bot.event
async def on_message_delete(message):
message = message
,然后将消息写到消息中。
有关将消息写入文件的更多信息,
Python Input/Output docs(用于txt文件)
Python JSON docs(用于JSON文件)
GSpread documentation for Google表格
SQLite Documentation for Database Files