Fix user names in messages.

This commit is contained in:
OK 2023-08-18 20:32:04 +02:00
parent 1d995c5db4
commit 771d965e8c

View File

@ -3,6 +3,7 @@ import argparse
import tomlkit
import discord
import logging
import re
from discord import Message, TextChannel, DMChannel
from discord.ext import commands
from watchdog.observers import Observer
@ -26,6 +27,7 @@ class FjerkroaBot(commands.Bot):
intents = discord.Intents.default()
intents.message_content = True
intents.members = True
self._re_user = re.compile(r"[<][@][!]?\s*([0-9]+)[>]")
self.init_observer()
self.init_aichannels()
@ -115,6 +117,10 @@ class FjerkroaBot(commands.Bot):
message_content = str(message.content).strip()
if len(message_content) < 1:
return
for ma_user in self._re_user.finditer(message_content):
uid = int(ma_user.group(1))
user = message.guild.get_member(uid)
message_content = re.sub(f'[<][@][!]? *{uid} *[>]', f'@{user.name}', message_content)
channel_name = self.get_channel_name(message.channel)
msg = AIMessage(message.author.name, message_content, channel_name, self.user in message.mentions)
await self.respond(msg, message.channel)