Files
FunguyBot/plugins/fortune.py
T

33 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
This plugin provides a command to get a random fortune message.
"""
import asyncio
import logging
import simplematrixbotlib as botlib
async def handle_command(room, message, bot, prefix, config):
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")
try:
proc = await asyncio.create_subprocess_exec(
'/usr/games/fortune',
stdout=asyncio.subprocess.PIPE,
stderr=asyncio.subprocess.PIPE
)
stdout, stderr = await proc.communicate()
if proc.returncode == 0 and stdout:
fortune_text = "🃏 " + stdout.decode('UTF-8')
else:
fortune_text = "🃏 Fortune command failed."
await bot.api.send_markdown_message(room.room_id, fortune_text)
except Exception as e:
logging.error(f"Fortune error: {e}")
await bot.api.send_text_message(room.room_id, "Fortune unavailable.")
__version__ = "1.0.1"
__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.</p></details>"""