42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
"""
|
||
This plugin provides a command to get a random fortune message.
|
||
"""
|
||
# plugins/fortune.py
|
||
|
||
import subprocess
|
||
import logging
|
||
import simplematrixbotlib as botlib
|
||
|
||
async def handle_command(room, message, bot, prefix, config):
|
||
"""
|
||
Function to handle the !fortune command.
|
||
|
||
Args:
|
||
room (Room): The Matrix room where the command was invoked.
|
||
message (RoomMessage): The message object containing the command.
|
||
|
||
Returns:
|
||
None
|
||
"""
|
||
match = botlib.MessageMatch(room, message, bot, prefix)
|
||
if match.is_not_from_this_bot() and match.prefix() and match.command("fortune"):
|
||
logging.info("Received !fortune command")
|
||
fortune_output = "🃏 " + subprocess.run(['/usr/games/fortune'], capture_output=True).stdout.decode('UTF-8')
|
||
await bot.api.send_markdown_message(room.room_id, fortune_output)
|
||
logging.info("Sent fortune to the room")
|
||
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Plugin Metadata
|
||
# ---------------------------------------------------------------------------
|
||
|
||
__version__ = "1.0.0"
|
||
__author__ = "Funguy Bot"
|
||
__description__ = "Random fortune message"
|
||
__help__ = """
|
||
<details>
|
||
<summary><strong>!fortune</strong> – Random fortune</summary>
|
||
<p>Runs the <code>/usr/games/fortune</code> utility and posts a random quote.</p>
|
||
</details>
|
||
"""
|