mirror of
				https://gitlab.com/ddorn/tfjm-discord-bot.git
				synced 2025-10-31 13:40:06 +01:00 
			
		
		
		
	✨ print direct messages
This commit is contained in:
		| @@ -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