Remove guild event handler, fix other handlers
This commit is contained in:
parent
61e4d4d497
commit
490c8fc142
3 changed files with 15 additions and 48 deletions
|
@ -1,36 +0,0 @@
|
||||||
"""J.A.R.V.I.S. guild event handler."""
|
|
||||||
import asyncio
|
|
||||||
|
|
||||||
from dis_snek import Snake
|
|
||||||
from dis_snek.models.discord.guild import Guild
|
|
||||||
|
|
||||||
from jarvis.db.models import Setting
|
|
||||||
from jarvis.utils import find
|
|
||||||
|
|
||||||
|
|
||||||
class GuildEventHandler(object):
|
|
||||||
"""J.A.R.V.I.S. guild event handler."""
|
|
||||||
|
|
||||||
def __init__(self, bot: Snake):
|
|
||||||
self.bot = bot
|
|
||||||
self.bot.add_listener(self.on_guild_join)
|
|
||||||
|
|
||||||
async def on_guild_join(self, guild: Guild) -> None:
|
|
||||||
"""Handle on_guild_join event."""
|
|
||||||
general = find(lambda x: x.name == "general", guild.channels)
|
|
||||||
if general and general.permissions_for(guild.me).send_messages:
|
|
||||||
user = self.bot.user
|
|
||||||
await general.send(
|
|
||||||
f"Allow me to introduce myself. I am {user.mention}, a virtual "
|
|
||||||
"artificial intelligence, and I'm here to assist you with a "
|
|
||||||
"variety of tasks as best I can, "
|
|
||||||
"24 hours a day, seven days a week."
|
|
||||||
)
|
|
||||||
await asyncio.sleep(1)
|
|
||||||
await general.send("Importing all preferences from home interface...")
|
|
||||||
|
|
||||||
# Set some default settings
|
|
||||||
_ = Setting(guild=guild.id, setting="massmention", value=5).save()
|
|
||||||
_ = Setting(guild=guild.id, setting="noinvite", value=True).save()
|
|
||||||
|
|
||||||
await general.send("Systems are now fully operational")
|
|
|
@ -1,5 +1,5 @@
|
||||||
"""J.A.R.V.I.S. Member event handler."""
|
"""J.A.R.V.I.S. Member event handler."""
|
||||||
from dis_snek import Snake
|
from dis_snek import Snake, listen
|
||||||
from dis_snek.models.discord.user import Member
|
from dis_snek.models.discord.user import Member
|
||||||
|
|
||||||
from jarvis.db.models import Mute, Setting
|
from jarvis.db.models import Mute, Setting
|
||||||
|
@ -12,6 +12,7 @@ class MemberEventHandler(object):
|
||||||
self.bot = bot
|
self.bot = bot
|
||||||
self.bot.add_listener(self.on_member_join)
|
self.bot.add_listener(self.on_member_join)
|
||||||
|
|
||||||
|
@listen()
|
||||||
async def on_member_join(self, user: Member) -> None:
|
async def on_member_join(self, user: Member) -> None:
|
||||||
"""Handle on_member_join event."""
|
"""Handle on_member_join event."""
|
||||||
guild = user.guild
|
guild = user.guild
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
"""J.A.R.V.I.S. Message event handler."""
|
"""J.A.R.V.I.S. Message event handler."""
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from dis_snek import Snake
|
from dis_snek import Snake, listen
|
||||||
from dis_snek.models.discord.channel import DMChannel
|
from dis_snek.models.discord.channel import DMChannel
|
||||||
|
from dis_snek.models.discord.embed import EmbedField
|
||||||
from dis_snek.models.discord.message import Message
|
from dis_snek.models.discord.message import Message
|
||||||
|
|
||||||
from jarvis.config import get_config
|
from jarvis.config import get_config
|
||||||
from jarvis.db.models import Autopurge, Autoreact, Roleping, Setting, Warning
|
from jarvis.db.models import Autopurge, Autoreact, Roleping, Setting, Warning
|
||||||
from jarvis.utils import build_embed, find
|
from jarvis.utils import build_embed, find
|
||||||
from jarvis.utils.field import Field
|
|
||||||
|
|
||||||
invites = re.compile(
|
invites = re.compile(
|
||||||
r"(?:https?://)?(?:www.)?(?:discord.(?:gg|io|me|li)|discord(?:app)?.com/invite)/([^\s/]+?)(?=\b)", # noqa: E501
|
r"(?:https?://)?(?:www.)?(?:discord.(?:gg|io|me|li)|discord(?:app)?.com/invite)/([^\s/]+?)(?=\b)", # noqa: E501
|
||||||
|
@ -72,10 +72,10 @@ class MessageEventHandler(object):
|
||||||
user=message.author.id,
|
user=message.author.id,
|
||||||
).save()
|
).save()
|
||||||
fields = [
|
fields = [
|
||||||
Field(
|
EmbedField(
|
||||||
"Reason",
|
name="Reason",
|
||||||
"Sent an invite link",
|
value="Sent an invite link",
|
||||||
False,
|
inline=False,
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
embed = build_embed(
|
embed = build_embed(
|
||||||
|
@ -113,7 +113,7 @@ class MessageEventHandler(object):
|
||||||
reason="Mass Mention",
|
reason="Mass Mention",
|
||||||
user=message.author.id,
|
user=message.author.id,
|
||||||
).save()
|
).save()
|
||||||
fields = [Field("Reason", "Mass Mention", False)]
|
fields = [EmbedField(name="Reason", value="Mass Mention", inline=False)]
|
||||||
embed = build_embed(
|
embed = build_embed(
|
||||||
title="Warning",
|
title="Warning",
|
||||||
description=f"{message.author.mention} has been warned",
|
description=f"{message.author.mention} has been warned",
|
||||||
|
@ -178,10 +178,10 @@ class MessageEventHandler(object):
|
||||||
user=message.author.id,
|
user=message.author.id,
|
||||||
).save()
|
).save()
|
||||||
fields = [
|
fields = [
|
||||||
Field(
|
EmbedField(
|
||||||
"Reason",
|
name="Reason",
|
||||||
"Pinged a blocked role/user with a blocked role",
|
value="Pinged a blocked role/user with a blocked role",
|
||||||
False,
|
inline=False,
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
embed = build_embed(
|
embed = build_embed(
|
||||||
|
@ -198,6 +198,7 @@ class MessageEventHandler(object):
|
||||||
)
|
)
|
||||||
await message.channel.send(embed=embed)
|
await message.channel.send(embed=embed)
|
||||||
|
|
||||||
|
@listen()
|
||||||
async def on_message(self, message: Message) -> None:
|
async def on_message(self, message: Message) -> None:
|
||||||
"""Handle on_message event. Calls other event handlers."""
|
"""Handle on_message event. Calls other event handlers."""
|
||||||
if not isinstance(message.channel, DMChannel) and not message.author.bot:
|
if not isinstance(message.channel, DMChannel) and not message.author.bot:
|
||||||
|
@ -207,6 +208,7 @@ class MessageEventHandler(object):
|
||||||
await self.autopurge(message)
|
await self.autopurge(message)
|
||||||
await self.checks(message)
|
await self.checks(message)
|
||||||
|
|
||||||
|
@listen()
|
||||||
async def on_message_edit(self, before: Message, after: Message) -> None:
|
async def on_message_edit(self, before: Message, after: Message) -> None:
|
||||||
"""Handle on_message_edit event. Calls other event handlers."""
|
"""Handle on_message_edit event. Calls other event handlers."""
|
||||||
if not isinstance(after.channel, DMChannel) and not after.author.bot:
|
if not isinstance(after.channel, DMChannel) and not after.author.bot:
|
||||||
|
|
Loading…
Add table
Reference in a new issue