Update bot.py

This commit is contained in:
ElBe 2022-09-14 09:27:57 +02:00 committed by GitHub
parent 26bc09e578
commit a0319a4097
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2,7 +2,7 @@
Bot from The Guardians. Bot from The Guardians.
© by ElBe. © by ElBe.
Version: 0.1.0 Version: 0.1.3
''' '''
#Imports #Imports
@ -16,7 +16,6 @@ import time
import logging import logging
import platform import platform
import psutil import psutil
from prettytable import PrettyTable
from random import randint, choice from random import randint, choice
#Bot modules #Bot modules
@ -44,3 +43,86 @@ MISSING = utils.MISSING
#Starttime #Starttime
starttime = time.time() starttime = time.time()
#JSON data
token = functions.json_module.get_config('Config')['Token']
version = functions.json_module.get_config('Config')['Version']
credits = functions.json_module.get_config('Config')['Credits']
icon = functions.json_module.get_config('Images')['Logo']
commands = functions.json_module.get_config('Commands')
#Setup
logging.basicConfig(filename='log.txt', level=logging.INFO)
intents = discord.Intents.all()
#Main
class TheGuardiansBot(discord.Client):
'''Bot.'''
async def on_connect(self):
logging.info(str(datetime.datetime.now()) + 'Bot connected to the Discord API.')
print(functions.console.info('Bot connected to the Discord API.'))
async def on_ready(self):
logging.info(str(datetime.datetime.now()) + 'Bot logged in as ' + client.user.name + '.')
print(functions.console.info('Bot logged in as ' + client.user.name + '.'))
print('')
print('Log (Consolebased)')
print('------------------')
while True:
await client.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name=f'/help for help.'))
await asyncio.sleep(10)
await client.change_presence(activity=discord.Game(name=' with The Guardians on 6b6t.'))
await asyncio.sleep(10)
if credits:
await client.change_presence(activity=discord.Game(name=' programmed by ElBe.'))
await asyncio.sleep(10)
async def on_resumed(self):
logging.info(str(datetime.datetime.now().strftime('%d.%m.%Y %T')) + ' -- Bot resumed seesion.')
print(functions.console.log('Bot resumed a session.'))
#Commands
async def on_member_join(self, member):
async def log(text: str):
'''Log a text and save it in the logfile and the console.'''
logging.info(str(datetime.datetime.now().strftime('%d.%m.%Y %T')) + ' -- ' + str(text))
print(functions.console.log(str(text)))
if not str(member) == client.user:
channel = discord.utils.get(member.guild.text_channels, name="hi")
joinEmbed = discord.Embed(title='Welcome!', description='Hello <@!' + str(member.id) + f'>! \nThank you for joining {member.guild.name}!')
joinEmbed.set_thumbnail(url=member.avatar.url)
joinEmbed.set_footer(text='Bot made by ElBe for The Guardians.')
await channel.send(embed=joinEmbed)
await member.add_roles(discord.utils.get(member.guild.roles, name="member"))
await log('@' + str(member) + ' joined to ' + str(member.guild.name) + '.')
async def on_member_remove(self, member):
async def log(text: str):
'''Log a text and save it in the logfile and the console.'''
logging.info(str(datetime.datetime.now().strftime('%d.%m.%Y %T')) + ' -- ' + str(text))
print(functions.console.log(str(text)))
if not str(member) == client.user:
channel = discord.utils.get(member.guild.text_channels, name="bye")
joinEmbed = discord.Embed(title='Goodbye!', description='<@!' + str(member.id) + f'> left {member.guild.name}.')
joinEmbed.set_thumbnail(url=member.avatar.url)
joinEmbed.set_footer(text='Bot made by ElBe for The Guardians.')
await channel.send(embed=joinEmbed)
await log('@' + str(member) + ' left ' + str(member.guild.name) + '.')
async def on_disconnect(self):
async def error(text: str):
'''Send a error text and save it in the logfile.'''
logging.info(str(datetime.datetime.now().strftime('%d.%m.%Y %T')) + ' -- Error: ' + str(text))
print(functions.console.error(str(text)))
await error('Bot disconected from discord.')
#Run
client = TheGuardiansBot(intents = intents, max_messages=None)
client.run(token)#, log_handler=None)