#!/usr/bin/env python3 from config import config from lib import * import discord import logging intents = discord.Intents(messages=True,message_content=True) client = discord.Client(intents=intents) @client.event async def on_ready(): print(f'We have logged in as {client.user}') @client.event async def on_message(message): #if isinstance(message.channel, discord.channel.DMChannel) or message.channel.name: # return #print(message.channel.name) # Handle own messages if message.author == client.user: return # Handle whitelist if message.author.name not in config['bot']['whitelist']: await message.channel.send(f"Sorry {message.author.mention}, you are not authorized to do that.") return if message.content == f"{client.user.mention} ping": await message.channel.send(f"{message.author.mention} ") return #if message.content == f"{client.user.mention} version": # await message.channel.send(f"{message.author.mention} ") # return # Handle @Bot mention messagearray = message.content.split() if messagearray[0] == client.user.mention: messagearray.pop(0) else: return if messagearray[0] == "help": await message.channel.send(BuildHelpList()) return if messagearray[0] in ["list", "info"]: await message.channel.send(BuildGameList()) return if messagearray[0] in ["start", "stop", "restart"] and len(messagearray) >= 2: game = GetGameByGameSlug(messagearray[1]) if not game: await message.add_reaction("❌") await message.channel.send(f"Invalid game: {messagearray[1]}") return success = HandleSystemdService(game, messagearray[0]) # :white_check_mark: :x: if success: await message.add_reaction("✅") else: await message.add_reaction("❌") await message.channel.send(f"Sorry {message.author.mention}, that didn't work. Ping @lauralani") if messagearray[0] == "status": status = BuildSingleGameStatus(messagearray[1]) if not status: await message.add_reaction("❌") await message.channel.send(f"Invalid game: {messagearray[1]}") return await message.channel.send(status) return client.run(config['bot']['token'])