def on_message(self, msg: discord.Message):
"""
Records the message and sender in the database. Also
increments the users total messages.
:param msg: the message
"""
if not msg.channel.is_private:
try:
# append embeds list to message
body = msg.content
if msg.embeds:
body += '\n' + str(msg.embeds)
user = self.orm.User.get_or_create(
discord_id=msg.author.id
)[0]
# Make sure to update the user so all relevant info is there
update_user_fields(user, msg.author)
server = self.orm.Server.get_or_create(
discord_id=msg.channel.server.id
)[0]
channel = self.orm.Channel.get_or_create(
discord_id=msg.channel.id,
server=server
)[0]
self.orm.Message.create(
discord_id=msg.id,
user=user,
channel=channel,
body=body,
is_command=is_command(self.bot, msg.content),
is_embed=True if msg.embeds else False
)
except OperationalError as e:
self.config.logger.error(e)
评论列表
文章目录