Fix user names in messages.
This commit is contained in:
parent
1d995c5db4
commit
771d965e8c
@ -3,6 +3,7 @@ import argparse
|
|||||||
import tomlkit
|
import tomlkit
|
||||||
import discord
|
import discord
|
||||||
import logging
|
import logging
|
||||||
|
import re
|
||||||
from discord import Message, TextChannel, DMChannel
|
from discord import Message, TextChannel, DMChannel
|
||||||
from discord.ext import commands
|
from discord.ext import commands
|
||||||
from watchdog.observers import Observer
|
from watchdog.observers import Observer
|
||||||
@ -26,6 +27,7 @@ class FjerkroaBot(commands.Bot):
|
|||||||
intents = discord.Intents.default()
|
intents = discord.Intents.default()
|
||||||
intents.message_content = True
|
intents.message_content = True
|
||||||
intents.members = True
|
intents.members = True
|
||||||
|
self._re_user = re.compile(r"[<][@][!]?\s*([0-9]+)[>]")
|
||||||
|
|
||||||
self.init_observer()
|
self.init_observer()
|
||||||
self.init_aichannels()
|
self.init_aichannels()
|
||||||
@ -115,6 +117,10 @@ class FjerkroaBot(commands.Bot):
|
|||||||
message_content = str(message.content).strip()
|
message_content = str(message.content).strip()
|
||||||
if len(message_content) < 1:
|
if len(message_content) < 1:
|
||||||
return
|
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)
|
channel_name = self.get_channel_name(message.channel)
|
||||||
msg = AIMessage(message.author.name, message_content, channel_name, self.user in message.mentions)
|
msg = AIMessage(message.author.name, message_content, channel_name, self.user in message.mentions)
|
||||||
await self.respond(msg, message.channel)
|
await self.respond(msg, message.channel)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user