mirror of
				https://gitlab.com/ddorn/tfjm-discord-bot.git
				synced 2025-11-04 00:12:05 +01:00 
			
		
		
		
	✨ print direct messages
This commit is contained in:
		
							
								
								
									
										5
									
								
								bot.py
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								bot.py
									
									
									
									
									
								
							@@ -1,5 +1,4 @@
 | 
			
		||||
from src import bot
 | 
			
		||||
from src.constants import TOKEN
 | 
			
		||||
from src import start
 | 
			
		||||
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    bot.run(TOKEN)
 | 
			
		||||
    start()
 | 
			
		||||
 
 | 
			
		||||
@@ -1 +1 @@
 | 
			
		||||
from src.tfjm_discord_bot import bot
 | 
			
		||||
from src.tfjm_discord_bot import start
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@ import asyncio
 | 
			
		||||
from pprint import pprint
 | 
			
		||||
 | 
			
		||||
import discord
 | 
			
		||||
from discord import TextChannel, PermissionOverwrite, Message
 | 
			
		||||
from discord import TextChannel, PermissionOverwrite, Message, ChannelType
 | 
			
		||||
from discord.ext.commands import (
 | 
			
		||||
    command,
 | 
			
		||||
    has_role,
 | 
			
		||||
@@ -16,6 +16,7 @@ from ptpython.repl import embed
 | 
			
		||||
 | 
			
		||||
from src.constants import *
 | 
			
		||||
from src.core import CustomBot
 | 
			
		||||
from src.utils import fg
 | 
			
		||||
 | 
			
		||||
COGS_SHORTCUTS = {
 | 
			
		||||
    "bt": "src.base_tirage",
 | 
			
		||||
@@ -203,6 +204,15 @@ class DevCog(Cog, name="Dev tools"):
 | 
			
		||||
        await channel.delete_messages(to_delete)
 | 
			
		||||
        await ctx.message.delete()
 | 
			
		||||
 | 
			
		||||
    @Cog.listener()
 | 
			
		||||
    async def on_message(self, msg: Message):
 | 
			
		||||
        ch: TextChannel = msg.channel
 | 
			
		||||
        if ch.type == ChannelType.private:
 | 
			
		||||
            m = f"""{fg(msg.author.name)}: {msg.content}
 | 
			
		||||
MSG_ID: {fg(msg.id, 0x03A678)}
 | 
			
		||||
CHA_ID: {fg(msg.channel.id, 0x03A678)}"""
 | 
			
		||||
            print(m)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def setup(bot: CustomBot):
 | 
			
		||||
    bot.add_cog(DevCog(bot))
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								src/core.py
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								src/core.py
									
									
									
									
									
								
							@@ -2,7 +2,7 @@ import asyncio
 | 
			
		||||
import sys
 | 
			
		||||
from importlib import reload
 | 
			
		||||
 | 
			
		||||
from discord import User, Message, Reaction, NotFound
 | 
			
		||||
from discord import User, Message, Reaction, NotFound, Forbidden
 | 
			
		||||
from discord.ext.commands import Bot
 | 
			
		||||
 | 
			
		||||
__all__ = ["CustomBot"]
 | 
			
		||||
@@ -60,8 +60,12 @@ class CustomBot(Bot):
 | 
			
		||||
                reaction, u = await bot.wait_for(
 | 
			
		||||
                    "reaction_add", check=check, timeout=timeout
 | 
			
		||||
                )
 | 
			
		||||
                the_msg = get(msgs, id=reaction.message.id)
 | 
			
		||||
                await the_msg.delete()
 | 
			
		||||
 | 
			
		||||
                the_msg: Message = get(msgs, id=reaction.message.id)
 | 
			
		||||
                try:
 | 
			
		||||
                    await the_msg.delete()
 | 
			
		||||
                except NotFound:
 | 
			
		||||
                    pass  # message was deleted
 | 
			
		||||
                msgs.remove(the_msg)
 | 
			
		||||
        except asyncio.TimeoutError:
 | 
			
		||||
            pass
 | 
			
		||||
@@ -69,6 +73,6 @@ class CustomBot(Bot):
 | 
			
		||||
        for m in msgs:
 | 
			
		||||
            try:
 | 
			
		||||
                await m.clear_reaction(Emoji.BIN)
 | 
			
		||||
            except NotFound:
 | 
			
		||||
                # Message or reaction deleted
 | 
			
		||||
            except (NotFound, Forbidden):
 | 
			
		||||
                # Message or reaction deleted / in dm channel
 | 
			
		||||
                pass
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,8 @@ from src.core import CustomBot
 | 
			
		||||
 | 
			
		||||
# We allow "! " to catch people that put a space in their commands.
 | 
			
		||||
# It must be in first otherwise "!" always match first and the space is not recognised
 | 
			
		||||
bot = CustomBot(("! ", "!"))
 | 
			
		||||
from src.utils import fg
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Global variable to hold the tirages.
 | 
			
		||||
# We *want* it to be global so we can reload the tirages cog without
 | 
			
		||||
@@ -13,19 +14,23 @@ bot = CustomBot(("! ", "!"))
 | 
			
		||||
tirages = {}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@bot.event
 | 
			
		||||
async def on_ready():
 | 
			
		||||
    print(f"{bot.user} has connected to Discord!")
 | 
			
		||||
def start():
 | 
			
		||||
    bot = CustomBot(("! ", "!"))
 | 
			
		||||
 | 
			
		||||
    @bot.event
 | 
			
		||||
    async def on_ready():
 | 
			
		||||
        print(f"{bot.user} has connected to Discord!")
 | 
			
		||||
 | 
			
		||||
bot.remove_command("help")
 | 
			
		||||
bot.load_extension("src.cogs.dev")
 | 
			
		||||
bot.load_extension("src.cogs.errors")
 | 
			
		||||
bot.load_extension("src.cogs.misc")
 | 
			
		||||
bot.load_extension("src.cogs.teams")
 | 
			
		||||
bot.load_extension("src.cogs.tirages")
 | 
			
		||||
bot.load_extension("src.utils")
 | 
			
		||||
    bot.remove_command("help")
 | 
			
		||||
    bot.load_extension("src.cogs.dev")
 | 
			
		||||
    bot.load_extension("src.cogs.errors")
 | 
			
		||||
    bot.load_extension("src.cogs.misc")
 | 
			
		||||
    bot.load_extension("src.cogs.teams")
 | 
			
		||||
    bot.load_extension("src.cogs.tirages")
 | 
			
		||||
    bot.load_extension("src.utils")
 | 
			
		||||
 | 
			
		||||
    bot.run(TOKEN)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    bot.run(TOKEN)
 | 
			
		||||
    start()
 | 
			
		||||
 
 | 
			
		||||
@@ -4,6 +4,13 @@ import psutil
 | 
			
		||||
from discord.ext.commands import Bot
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def fg(text, color: int = 0xFFA500):
 | 
			
		||||
    r = color >> 16
 | 
			
		||||
    g = color >> 8 & 0xFF
 | 
			
		||||
    b = color & 0xFF
 | 
			
		||||
    return f"\033[38;2;{r};{g};{b}m{text}\033[m"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def french_join(l):
 | 
			
		||||
    l = list(l)
 | 
			
		||||
    start = ", ".join(l[:-1])
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user