Some on the go tweaks and fixes

This commit is contained in:
Eriks K 2020-04-16 10:52:59 +03:00
parent 6d6d1b2e43
commit 381b794cce
2 changed files with 30 additions and 10 deletions

View File

@ -1,6 +1,8 @@
import asyncio import asyncio
import datetime import datetime
import logging
import os import os
import sys
from collections import defaultdict from collections import defaultdict
from json import JSONDecodeError from json import JSONDecodeError
from typing import Dict, Set from typing import Dict, Set
@ -14,6 +16,20 @@ from dotenv import load_dotenv
from db import DiscordDB from db import DiscordDB
load_dotenv() load_dotenv()
logging.basicConfig(level=logging.WARNING, filename="logging.log",
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
sys.stdout = open('output.log', 'a')
sys.stderr = open('error.log', 'a')
os.chdir(os.path.abspath(os.path.dirname(sys.argv[0])))
pid = str(os.getpid())
pidfile = "pid"
if os.path.isfile(pidfile):
print("%s already exists, exiting" % pidfile)
sys.exit()
with open(pidfile, 'w') as f:
f.write(str(os.getpid()))
DISCORD_TOKEN = os.getenv("DISCORD_TOKEN") DISCORD_TOKEN = os.getenv("DISCORD_TOKEN")
DB_NAME = os.getenv('DB_NAME', 'discord.db') DB_NAME = os.getenv('DB_NAME', 'discord.db')
@ -33,7 +49,7 @@ COUNTRIES = {1: 'Romania', 9: 'Brazil', 10: 'Italy', 11: 'France', 12: 'Germany'
166: 'United Arab Emirates', 167: 'Albania', 168: 'Georgia', 169: 'Armenia', 170: 'Nigeria', 171: 'Cuba'} 166: 'United Arab Emirates', 167: 'Albania', 168: 'Georgia', 169: 'Armenia', 170: 'Nigeria', 171: 'Cuba'}
FLAGS = {1: 'flag_ro', 9: 'flag_br', 10: 'flag_it', 11: 'flag_fr', 12: 'flag_de', 13: 'flag_hu', 14: 'flag_cn', FLAGS = {1: 'flag_ro', 9: 'flag_br', 10: 'flag_it', 11: 'flag_fr', 12: 'flag_de', 13: 'flag_hu', 14: 'flag_cn',
15: 'flag_sp', 23: 'flag_ca', 24: 'flag_us', 26: 'flag_mx', 27: 'flag_ar', 28: 'flag_ve', 29: 'flag_gb', 15: 'flag_es', 23: 'flag_ca', 24: 'flag_us', 26: 'flag_mx', 27: 'flag_ar', 28: 'flag_ve', 29: 'flag_gb',
30: 'flag_ch', 31: 'flag_nl', 32: 'flag_be', 33: 'flag_at', 34: 'flag_cz', 35: 'flag_pl', 36: 'flag_sk', 30: 'flag_ch', 31: 'flag_nl', 32: 'flag_be', 33: 'flag_at', 34: 'flag_cz', 35: 'flag_pl', 36: 'flag_sk',
37: 'flag_no', 38: 'flag_se', 39: 'flag_fi', 40: 'flag_ua', 41: 'flag_ru', 42: 'flag_bg', 43: 'flag_tr', 37: 'flag_no', 38: 'flag_se', 39: 'flag_fi', 40: 'flag_ua', 41: 'flag_ru', 42: 'flag_bg', 43: 'flag_tr',
44: 'flag_gr', 45: 'flag_jp', 47: 'flag_kr', 48: 'flag_in', 49: 'flag_id', 50: 'flag_au', 51: 'flag_za', 44: 'flag_gr', 45: 'flag_jp', 47: 'flag_kr', 48: 'flag_in', 49: 'flag_id', 50: 'flag_au', 51: 'flag_za',
@ -49,6 +65,10 @@ __last_battle_request = None
__last_battle_update_timestamp = 0 __last_battle_update_timestamp = 0
def timestamp_to_datetime(timestamp: int) -> datetime.datetime:
return datetime.datetime.fromtimestamp(timestamp)
def get_battle_page(): def get_battle_page():
global __last_battle_update_timestamp, __last_battle_request global __last_battle_update_timestamp, __last_battle_request
if int(datetime.datetime.now().timestamp()) >= __last_battle_update_timestamp + 60: if int(datetime.datetime.now().timestamp()) >= __last_battle_update_timestamp + 60:
@ -148,10 +168,6 @@ if __name__ == "__main__":
bot = commands.Bot(command_prefix='!') bot = commands.Bot(command_prefix='!')
def timestamp_to_datetime(timestamp: int) -> datetime.datetime:
return datetime.datetime.fromtimestamp(timestamp)
@bot.event @bot.event
async def on_ready(): async def on_ready():
print('Bot loaded') print('Bot loaded')
@ -247,8 +263,11 @@ if __name__ == "__main__":
else: else:
await ctx.send(f"{ctx.author.mention} You weren't being notified for **{player_name}** medals") await ctx.send(f"{ctx.author.mention} You weren't being notified for **{player_name}** medals")
try:
loop = asyncio.get_event_loop()
loop.create_task(bot.start(DISCORD_TOKEN))
loop.create_task(client.start(DISCORD_TOKEN))
loop.run_forever()
finally:
os.unlink(pidfile)
loop = asyncio.get_event_loop()
loop.create_task(bot.start(DISCORD_TOKEN))
loop.create_task(client.start(DISCORD_TOKEN))
loop.run_forever()

3
run.sh
View File

@ -6,4 +6,5 @@ echo "Starting Discord bot..."
python discord_bot.py & python discord_bot.py &
sleep 10 sleep 10
disown -h %1 disown -h %1
echo "Done!" echo "Done!"