#################### # == Main Info == # main.py # by 4nima # v.0.0.0 # #################### # == Descrtiption == # template for discord bot # #################### # == Dependencies == # pip3 install discord # pip3 install flask (for keep_alive) #################### ## Imports import asyncio import json import logging as log import random from discord.ext import commands from lib.keep_alive import keep_alive ## Vars ### Load and set Bot Config with open("bot.conf", 'r') as f: BOTDATA = json.load(f) bot = commands.Bot(command_prefix=BOTDATA['prefix']) ### Set logging options log.basicConfig( filename="bot.log", level=log.DEBUG, format='%(asctime)s - %(process)d-%(levelname)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S' ) ## Run ### Events @bot.event async def on_ready(): log.info(f'Logged in as {bot.user}') print(f'Logged in as {bot.user}') for guild in bot.guilds: log.info(f'Connect to Server {guild.name} (id: {guild.id})') ### Commands @bot.command(name='hello', help='Say hello!') async def say_hello(ctx): log.info('Start say_hello function') await ctx.message.add_reaction('🤔') await ctx.send(f'Hello, <@{ctx.author.id}>!') print(ctx.guild) print(ctx.message.content) print(ctx.message) print(ctx.author) await asyncio.sleep(random.randint(1,5)) await ctx.message.remove_reaction('🤔', bot.user) if random.randint(1,100) < 10: log.error('say_hello function was failed') await ctx.message.add_reaction('❌') else: log.info('Run say_hello successfully') await ctx.message.add_reaction('✅') #keep_alive() bot.run(BOTDATA['token'])