Compare commits
2 commits
34c81b98a7
...
aa8c5d5d8b
Author | SHA1 | Date | |
---|---|---|---|
aa8c5d5d8b | |||
488c8e1b32 |
2 changed files with 55 additions and 19 deletions
48
app.py
48
app.py
|
@ -19,12 +19,9 @@ async def on_ready():
|
||||||
@client.event
|
@client.event
|
||||||
async def on_message(message):
|
async def on_message(message):
|
||||||
# Only allow chats in DM or whitelisted channels
|
# Only allow chats in DM or whitelisted channels
|
||||||
# TODO: FIX
|
|
||||||
if not (isinstance(message.channel, discord.channel.DMChannel)) and not (message.channel.id in config['bot']['channels']):
|
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
|
return
|
||||||
# print(message.channel.name)
|
|
||||||
# Handle own messages
|
# Handle own messages
|
||||||
if message.author == client.user:
|
if message.author == client.user:
|
||||||
return
|
return
|
||||||
|
@ -41,11 +38,6 @@ async def on_message(message):
|
||||||
await message.channel.send(f"{message.author.mention} 👋")
|
await message.channel.send(f"{message.author.mention} 👋")
|
||||||
return
|
return
|
||||||
|
|
||||||
# if message.content == f"{client.user.mention} version":
|
|
||||||
# logger.info(f"Version by {message.author.name}")
|
|
||||||
# await message.channel.send(f"{message.author.mention} ")
|
|
||||||
# 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:
|
||||||
|
@ -53,39 +45,57 @@ async def on_message(message):
|
||||||
else:
|
else:
|
||||||
return
|
return
|
||||||
|
|
||||||
if messagearray[0] == "help":
|
command = messagearray[0].lower()
|
||||||
|
|
||||||
|
# message starts with "help"
|
||||||
|
if command == "help":
|
||||||
logger.info(f"Help by {message.author.name}")
|
logger.info(f"Help by {message.author.name}")
|
||||||
await message.channel.send(BuildHelpList())
|
await message.channel.send(BuildHelpList())
|
||||||
return
|
return
|
||||||
if messagearray[0] in ["list", "info"]:
|
|
||||||
logger.info(f"{messagearray[0]} by {message.author.name}")
|
# message starts with "list" or "info"
|
||||||
|
if command in ["list", "info"]:
|
||||||
|
logger.info(f"{command} 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 command in ["start", "stop", "restart"]:
|
||||||
|
if len(messagearray) != 2:
|
||||||
|
logger.error(
|
||||||
|
f"{command} with invalid numer of arguments by {message.author.name}. Command: \"{message.content}\"")
|
||||||
|
await message.add_reaction("❌")
|
||||||
|
await message.channel.send(f"Invalid number of arguments")
|
||||||
|
return
|
||||||
game = GetGameByGameSlug(messagearray[1])
|
game = GetGameByGameSlug(messagearray[1])
|
||||||
if not game:
|
if not game:
|
||||||
logger.error(
|
logger.error(
|
||||||
f"{messagearray[0]} for invalid Game \"{messagearray[1]}\" by {message.author.name}")
|
f"{command} 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(
|
logger.info(
|
||||||
f"{messagearray[0]} by {message.author.name}, Game: {messagearray[1]}")
|
f"{command} by {message.author.name}, Game: {messagearray[1]}")
|
||||||
success = HandleSystemdService(game, messagearray[0])
|
success = HandleSystemdService(game, command)
|
||||||
|
|
||||||
# :white_check_mark: :x:
|
# :white_check_mark: :x:
|
||||||
if success:
|
if success:
|
||||||
logger.info(
|
logger.info(
|
||||||
f"{messagearray[0]} by {message.author.name}, Game: {messagearray[1]} was SUCESSFUL")
|
f"{command} by {message.author.name}, Game: {messagearray[1]} was SUCESSFUL")
|
||||||
await message.add_reaction("✅")
|
await message.add_reaction("✅")
|
||||||
|
await message.channel.send(f"Successfully started {game['displayname']}! Happy gaming! 🎮")
|
||||||
else:
|
else:
|
||||||
logger.error(
|
logger.error(
|
||||||
f"{messagearray[0]} by {message.author.name}, Game: {messagearray[1]} FAILED!")
|
f"{command} 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 command == "status":
|
||||||
|
if len(messagearray) != 2:
|
||||||
|
logger.error(
|
||||||
|
f"Status with invalid numer of arguments by {message.author.name}. Command: \"{message.content}\"")
|
||||||
|
await message.add_reaction("❌")
|
||||||
|
await message.channel.send(f"Invalid number of arguments")
|
||||||
|
return
|
||||||
status = BuildSingleGameStatus(messagearray[1])
|
status = BuildSingleGameStatus(messagearray[1])
|
||||||
if not status:
|
if not status:
|
||||||
logger.error(
|
logger.error(
|
||||||
|
|
26
config.example.py
Normal file
26
config.example.py
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
config = {
|
||||||
|
"bot": {
|
||||||
|
|
||||||
|
"token": "aslkjdasjldjsaldjasl",
|
||||||
|
"channels": [
|
||||||
|
12873281371823821328193, # laura lol, bot-test
|
||||||
|
21302918421093801832 # LiLa Network Clubhaus, game-control
|
||||||
|
],
|
||||||
|
"whitelist": [
|
||||||
|
"username"
|
||||||
|
]
|
||||||
|
|
||||||
|
},
|
||||||
|
"games": [
|
||||||
|
{
|
||||||
|
"displayname": "Minecraft Vanilla Server",
|
||||||
|
"slug": "mc-v",
|
||||||
|
"systemd": "minecraft-vanilla01.service"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"displayname": "Minecraft AllTheMods 8",
|
||||||
|
"slug": "mc-atm8",
|
||||||
|
"systemd": "minecraft-allthemods8.service"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in a new issue