add logging
This commit is contained in:
parent
e08a3e55b0
commit
34c81b98a7
1 changed files with 42 additions and 20 deletions
62
app.py
62
app.py
|
@ -1,80 +1,102 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
from config import config
|
from config import config
|
||||||
from lib import *
|
from lib import *
|
||||||
|
|
||||||
import discord
|
import discord
|
||||||
import logging
|
import logging
|
||||||
|
logger = logging.getLogger('discord.gamebot')
|
||||||
|
logger.setLevel(logging.INFO)
|
||||||
|
|
||||||
|
intents = discord.Intents(messages=True, message_content=True)
|
||||||
intents = discord.Intents(messages=True,message_content=True)
|
|
||||||
client = discord.Client(intents=intents)
|
client = discord.Client(intents=intents)
|
||||||
|
|
||||||
|
|
||||||
@client.event
|
@client.event
|
||||||
async def on_ready():
|
async def on_ready():
|
||||||
print(f'We have logged in as {client.user}')
|
logger.info(f'Logged in as {client.user}')
|
||||||
|
|
||||||
|
|
||||||
@client.event
|
@client.event
|
||||||
async def on_message(message):
|
async def on_message(message):
|
||||||
#if isinstance(message.channel, discord.channel.DMChannel) or message.channel.name:
|
# Only allow chats in DM or whitelisted channels
|
||||||
# return
|
# TODO: FIX
|
||||||
#print(message.channel.name)
|
if not (isinstance(message.channel, discord.channel.DMChannel)) and not (message.channel.id in config['bot']['channels']):
|
||||||
|
print(isinstance(message.channel, discord.channel.DMChannel))
|
||||||
|
print(message.channel.id)
|
||||||
|
return
|
||||||
|
# print(message.channel.name)
|
||||||
# Handle own messages
|
# Handle own messages
|
||||||
if message.author == client.user:
|
if message.author == client.user:
|
||||||
return
|
return
|
||||||
|
|
||||||
# Handle whitelist
|
# Handle whitelist
|
||||||
if message.author.name not in config['bot']['whitelist']:
|
if message.author.name not in config['bot']['whitelist']:
|
||||||
|
logger.error(
|
||||||
|
f"Unauthorized command by {message.author.name}. message: \"{message.content}\"")
|
||||||
await message.channel.send(f"Sorry {message.author.mention}, you are not authorized to do that.")
|
await message.channel.send(f"Sorry {message.author.mention}, you are not authorized to do that.")
|
||||||
return
|
return
|
||||||
|
|
||||||
if message.content == f"{client.user.mention} ping":
|
if message.content == f"{client.user.mention} ping":
|
||||||
await message.channel.send(f"{message.author.mention} ")
|
logger.info(f"Ping by {message.author.name}")
|
||||||
|
await message.channel.send(f"{message.author.mention} 👋")
|
||||||
return
|
return
|
||||||
|
|
||||||
#if message.content == f"{client.user.mention} version":
|
# if message.content == f"{client.user.mention} version":
|
||||||
# await message.channel.send(f"{message.author.mention} ")
|
# logger.info(f"Version by {message.author.name}")
|
||||||
|
# await message.channel.send(f"{message.author.mention} ")
|
||||||
# return
|
# return
|
||||||
|
|
||||||
# Handle @Bot mention
|
# Handle @Bot mention
|
||||||
messagearray = message.content.split()
|
messagearray = message.content.split()
|
||||||
if messagearray[0] == client.user.mention:
|
if messagearray[0] == client.user.mention:
|
||||||
messagearray.pop(0)
|
messagearray.pop(0)
|
||||||
else:
|
else:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if messagearray[0] == "help":
|
if messagearray[0] == "help":
|
||||||
await message.channel.send(BuildHelpList())
|
logger.info(f"Help by {message.author.name}")
|
||||||
|
await message.channel.send(BuildHelpList())
|
||||||
return
|
return
|
||||||
if messagearray[0] in ["list", "info"]:
|
if messagearray[0] in ["list", "info"]:
|
||||||
|
logger.info(f"{messagearray[0]} by {message.author.name}")
|
||||||
await message.channel.send(BuildGameList())
|
await message.channel.send(BuildGameList())
|
||||||
return
|
return
|
||||||
|
|
||||||
if messagearray[0] in ["start", "stop", "restart"] and len(messagearray) >= 2:
|
if messagearray[0] in ["start", "stop", "restart"] and len(messagearray) >= 2:
|
||||||
game = GetGameByGameSlug(messagearray[1])
|
game = GetGameByGameSlug(messagearray[1])
|
||||||
if not game:
|
if not game:
|
||||||
|
logger.error(
|
||||||
|
f"{messagearray[0]} for invalid Game \"{messagearray[1]}\" by {message.author.name}")
|
||||||
await message.add_reaction("❌")
|
await message.add_reaction("❌")
|
||||||
await message.channel.send(f"Invalid game: {messagearray[1]}")
|
await message.channel.send(f"Invalid game: {messagearray[1]}")
|
||||||
return
|
return
|
||||||
|
logger.info(
|
||||||
|
f"{messagearray[0]} by {message.author.name}, Game: {messagearray[1]}")
|
||||||
success = HandleSystemdService(game, messagearray[0])
|
success = HandleSystemdService(game, messagearray[0])
|
||||||
|
|
||||||
# :white_check_mark: :x:
|
# :white_check_mark: :x:
|
||||||
if success:
|
if success:
|
||||||
|
logger.info(
|
||||||
|
f"{messagearray[0]} by {message.author.name}, Game: {messagearray[1]} was SUCESSFUL")
|
||||||
await message.add_reaction("✅")
|
await message.add_reaction("✅")
|
||||||
else:
|
else:
|
||||||
|
logger.error(
|
||||||
|
f"{messagearray[0]} by {message.author.name}, Game: {messagearray[1]} FAILED!")
|
||||||
await message.add_reaction("❌")
|
await message.add_reaction("❌")
|
||||||
await message.channel.send(f"Sorry {message.author.mention}, that didn't work. Ping @lauralani")
|
await message.channel.send(f"Sorry {message.author.mention}, that didn't work. Ping @lauralani")
|
||||||
|
|
||||||
if messagearray[0] == "status":
|
if messagearray[0] == "status":
|
||||||
status = BuildSingleGameStatus(messagearray[1])
|
status = BuildSingleGameStatus(messagearray[1])
|
||||||
if not status:
|
if not status:
|
||||||
|
logger.error(
|
||||||
|
f"Status for invalid Game {messagearray[1]} by {message.author.name}")
|
||||||
await message.add_reaction("❌")
|
await message.add_reaction("❌")
|
||||||
await message.channel.send(f"Invalid game: {messagearray[1]}")
|
await message.channel.send(f"Invalid game: {messagearray[1]}")
|
||||||
return
|
return
|
||||||
|
logger.info(
|
||||||
|
f"Status for Game {messagearray[1]} by {message.author.name}")
|
||||||
await message.channel.send(status)
|
await message.channel.send(status)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
client.run(config['bot']['token'])
|
||||||
client.run(config['bot']['token'])
|
|
||||||
|
|
Loading…
Reference in a new issue