创建一个记录所有消息的discord bot

时间:2018-01-14 06:36:52

标签: python discord

所以我考虑创建一个python discord bot,并且想知道如何创建一个记录所有内容的discord bot。我希望它能立即将消息,编辑,删除,邀请等记录到文本文件中。我看到.on_message(),但我不知道如何真正得到消息。任何想法?(这样做的目的是为学校俱乐部不和谐服务器创建一个日志,允许教师加入。除非他们有一种方法检查教师和学生之间的所有通信,否则他们无法加入。这个机器人将运行在学校服务器)

提前致谢。

2 个答案:

答案 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