feat(pterodactyl): added more placeholders and updated documentation to match
This commit is contained in:
parent
4979e44b7c
commit
dab56bed94
3 changed files with 16 additions and 10 deletions
|
@ -129,11 +129,14 @@ The cog uses a tellraw command to send messages to Minecraft from Discord. To ch
|
|||
|
||||
Available placeholders:
|
||||
|
||||
- `.$U` - replaced with display name
|
||||
- `.$M` - replaced with message contents
|
||||
- `.$C` - replaced with top role color (hex)
|
||||
- `.$C` - replaced with hex color of user's top colored role
|
||||
- `.$D` - replaced with user's discriminator (will usually be 0, you shouldn't use this)
|
||||
- `.$M` - replaced with message content
|
||||
- `.$N` - replaced with author's display name (or guild nickname, if set)
|
||||
- `.$I` - replaced with the author's ID
|
||||
- `.$U` - replaced with the author's username (NOT display name, you should usually use `.$N`)
|
||||
|
||||
Default:
|
||||
```json
|
||||
tellraw @a ["",{"text":".$U ","color":".$C"},{"text":" (DISCORD): ","color":"blue"},{"text":".$M","color":"white"}]
|
||||
tellraw @a ["",{"text":".$D ","color":".$C"},{"text":" (DISCORD): ","color":"blue"},{"text":".$M","color":"white"}]
|
||||
```
|
||||
|
|
|
@ -15,7 +15,7 @@ def register_config(config_obj: Config) -> None:
|
|||
join_regex=r"^\[\d{2}:\d{2}:\d{2} INFO\]: ([^<\n]+) joined the game$",
|
||||
leave_regex=r"^\[\d{2}:\d{2}:\d{2} INFO\]: ([^<\n]+) left the game$",
|
||||
achievement_regex=r"^\[\d{2}:\d{2}:\d{2} INFO\]: (.*) has (made the advancement|completed the challenge) \[(.*)\]$",
|
||||
chat_command='tellraw @a ["",{"text":".$U ","color":".$C"},{"text":" (DISCORD): ","color":"blue"},{"text":".$M","color":"white"}]',
|
||||
chat_command='tellraw @a ["",{"text":".$D ","color":".$C"},{"text":" (DISCORD): ","color":"blue"},{"text":".$M","color":"white"}]',
|
||||
api_endpoint="minecraft",
|
||||
chat_channel=None,
|
||||
startup_msg='Server started!',
|
||||
|
|
|
@ -71,7 +71,7 @@ class Pterodactyl(commands.Cog):
|
|||
channel = self.bot.get_channel(await config.console_channel())
|
||||
if channel:
|
||||
await channel.send(f"Received chat message from {message.author.id}: {message.content[:1900]}")
|
||||
msg = json.dumps({"event": "send command", "args": [await self.get_chat_command(message.author.display_name, message.content, message.author.color)]})
|
||||
msg = json.dumps({"event": "send command", "args": [await self.get_chat_command(message)]})
|
||||
logger.debug("Sending chat message to server:\n%s", msg)
|
||||
try:
|
||||
await self.websocket.send(msg)
|
||||
|
@ -81,12 +81,15 @@ class Pterodactyl(commands.Cog):
|
|||
self.retry_counter = 0
|
||||
self.task = self.get_task()
|
||||
|
||||
async def get_chat_command(self, username: str, message: str, color: discord.Color) -> str:
|
||||
async def get_chat_command(self, message: discord.Message) -> str:
|
||||
command: str = await config.chat_command()
|
||||
placeholders = {
|
||||
"U": username,
|
||||
"M": message,
|
||||
"C": str(color)
|
||||
"C": str(message.author.color),
|
||||
"D": message.author.discriminator,
|
||||
"M": message.content,
|
||||
"N": message.author.display_name,
|
||||
"I": str(message.author.id),
|
||||
"U": message.author.name,
|
||||
}
|
||||
for key, value in placeholders.items():
|
||||
command = command.replace('$.' + key, value)
|
||||
|
|
Loading…
Reference in a new issue