/post command add author and logging
This commit is contained in:
		
							parent
							
								
									b11c39da18
								
							
						
					
					
						commit
						6f0c6d8f66
					
				
					 1 changed files with 26 additions and 2 deletions
				
			
		|  | @ -1,3 +1,4 @@ | ||||||
|  | import logging | ||||||
| from enum import Enum, auto | from enum import Enum, auto | ||||||
| 
 | 
 | ||||||
| import discord | import discord | ||||||
|  | @ -5,6 +6,8 @@ from discord import ui | ||||||
| 
 | 
 | ||||||
| from .config import CONFIG | from .config import CONFIG | ||||||
| 
 | 
 | ||||||
|  | _logger = logging.getLogger(__name__) | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| class Action(Enum): | class Action(Enum): | ||||||
|     """ |     """ | ||||||
|  | @ -54,9 +57,11 @@ class PostModal(ui.Modal, title="Post verfassen"): | ||||||
|     ) |     ) | ||||||
| 
 | 
 | ||||||
|     async def on_submit(self, interaction: discord.Interaction): |     async def on_submit(self, interaction: discord.Interaction): | ||||||
|  |         post_content = f"{self.content.value}\n> Gepostet von <@{interaction.user.id}>" | ||||||
|  | 
 | ||||||
|         await interaction.response.send_message( |         await interaction.response.send_message( | ||||||
|             # Vorschau mit Buttons |             # Vorschau mit Buttons | ||||||
|             content=f"## Post-Vorschau\n\n{self.content.value}", |             content=f"## Post-Vorschau\n\n{post_content}", | ||||||
|             view=(view := PostConfirm()), |             view=(view := PostConfirm()), | ||||||
|             # nur für ausführenden User |             # nur für ausführenden User | ||||||
|             ephemeral=True, |             ephemeral=True, | ||||||
|  | @ -67,8 +72,21 @@ class PostModal(ui.Modal, title="Post verfassen"): | ||||||
| 
 | 
 | ||||||
|         if view.action is Action.PUBLISH: |         if view.action is Action.PUBLISH: | ||||||
|             # Post veröffentlichen |             # Post veröffentlichen | ||||||
|  |             _logger.info( | ||||||
|  |                 f"User {interaction.user.name}({interaction.user.id}) finished a /post" | ||||||
|  |             ) | ||||||
|             target = CONFIG.post.target.get(interaction.client) |             target = CONFIG.post.target.get(interaction.client) | ||||||
|             await target.send(self.content.value) |             await target.send(post_content) | ||||||
|  | 
 | ||||||
|  |         elif view.action is Action.ABORT: | ||||||
|  |             _logger.info( | ||||||
|  |                 f"User {interaction.user.name}({interaction.user.id}) aborted a /post" | ||||||
|  |             ) | ||||||
|  | 
 | ||||||
|  |         elif view.action is Action.TIMEOUT: | ||||||
|  |             _logger.info( | ||||||
|  |                 f"User {interaction.user.name}({interaction.user.id}) timeout during /post" | ||||||
|  |             ) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @discord.app_commands.command() | @discord.app_commands.command() | ||||||
|  | @ -79,9 +97,15 @@ async def post(interaction: discord.Interaction): | ||||||
| 
 | 
 | ||||||
|     if interaction.user.id in CONFIG.post.users: |     if interaction.user.id in CONFIG.post.users: | ||||||
|         # Verfassen-Dialog anzeigen |         # Verfassen-Dialog anzeigen | ||||||
|  |         _logger.info( | ||||||
|  |             f"User {interaction.user.name}({interaction.user.id}) started a /post" | ||||||
|  |         ) | ||||||
|         await interaction.response.send_modal(PostModal()) |         await interaction.response.send_modal(PostModal()) | ||||||
| 
 | 
 | ||||||
|     else: |     else: | ||||||
|  |         _logger.warning( | ||||||
|  |             f"User {interaction.user.name}({interaction.user.id}) tried to /post" | ||||||
|  |         ) | ||||||
|         await interaction.response.send_message( |         await interaction.response.send_message( | ||||||
|             # Zugriff verweigern |             # Zugriff verweigern | ||||||
|             content="Du bist nicht berechtigt, den `/post`-Befehl zu benutzen!", |             content="Du bist nicht berechtigt, den `/post`-Befehl zu benutzen!", | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue