import random from typing import Set import os from dotenv import load_dotenv load_dotenv() MUMBLE_URL = os.getenv('MUMBLE_BOT_MUMBLE_URL') def fmt_list(users: Set[str], bold=True): if bold: users = [f'*{user}*' for user in users] else: users = list(users) if len(users) == 1: return users[0] return ', '.join(users[:-1]) + f' and {users[-1]}' def fmt1(users): return "β†’ {users} just hopped in Mumble ←\nTalk tuah πŸ—£οΈ us at {url} πŸ’¦οΈ".format( users=fmt_list(users), url=MUMBLE_URL ) def fmt2(users): return """ β†’ {users} just joined Mumble ← Yap πŸ—£οΈ with us at {url} πŸ§οΈβ€ΌοΈ """.format(users=fmt_list(users), url=MUMBLE_URL) def fmt3(users): return """ ZOMG!!!1 {users} just showed up in teh Mumble servar xD ^_^ Talk with us on the 'net at: {url} βœ©β€§β‚ŠΛš """.format(users=fmt_list(users), url=MUMBLE_URL) def fmt4(users): return """ `>be me` `>want to vc with my linux friends` `>notice that {users} just joined Mumble` `>log on at {url}` `>feelsgoodman.jpg` """.format(users=fmt_list(users, bold=False), url=MUMBLE_URL) def fmt5(users): return """ πŸ‡ΊπŸ‡Έ IMPORTANT GOVERNMENT ALERT πŸ‡ΊπŸ‡ΈοΈ The President urgently needs to speak with you on Mumble. Our freedom is at stake. {users} just joined the server. Are YOU brave enough to go with them? 🫑️ πŸ¦… ALL PATRIOTS GO: {url} πŸ¦… """.format(users=fmt_list(users), url=MUMBLE_URL) def fmt6(users): return """ {users} just joined Mumble. Last one to join is gay!!! πŸ³οΈβ€πŸŒˆοΈ 🐧️🌈️ {url}""".format(users=fmt_list(users), url=MUMBLE_URL) def fmt7(users): return """ {users} joined the Mumble server: {url}. Let's get as many Bruins in Mumble as possible. Only U$C πŸŸ₯️🟨️ πŸ€‘οΈ uses proprietary software like Di$cord 🀒️. U-C-L-A FIGHT FIGHT FIGHT! 🐧️ πŸ’™οΈπŸ»οΈπŸ’›οΈ πŸŽ“οΈ {url} """.format(users=fmt_list(users), url=MUMBLE_URL) NOTIFICATION_TEMPLATE_FUNCS = [fmt1, fmt2, fmt3, fmt4, fmt5, fmt6, fmt7] def decorate_message(users: Set[str]) -> str: func = random.choice(NOTIFICATION_TEMPLATE_FUNCS) return func(users)