1
0
Fork 0
mirror of synced 2024-05-17 19:12:33 +12:00
Bonfire/bot.py

74 lines
2.6 KiB
Python
Raw Normal View History

2016-07-08 01:05:42 +12:00
#!/usr/local/bin/python3.5
2016-07-09 11:26:43 +12:00
import discord
import traceback
import sys
2016-07-09 11:26:43 +12:00
from discord.ext import commands
2016-07-09 13:27:19 +12:00
from cogs.utils import config
2016-07-09 11:26:43 +12:00
2016-07-09 13:27:19 +12:00
extensions = ['cogs.interaction',
'cogs.core',
'cogs.mod',
'cogs.owner',
'cogs.stats',
2016-07-11 05:28:16 +12:00
'cogs.playlist',
'cogs.twitch',
'cogs.overwatch']
2016-07-08 10:10:24 +12:00
bot = commands.Bot(command_prefix=config.commandPrefix, description=config.botDescription, pm_help=None)
2016-07-08 10:10:24 +12:00
# Bot event overrides
2016-07-08 01:05:42 +12:00
@bot.event
async def on_ready():
2016-07-08 10:10:24 +12:00
# Change the status upon connection to the default status
await bot.change_status(discord.Game(name=config.defaultStatus, type=0))
channel_id = config.getContent('restart_server')
if channel_id != 0:
destination = discord.utils.find(lambda m: m.id == channel_id, bot.get_all_channels())
2016-07-09 13:27:19 +12:00
await bot.send_message(destination, "I have just finished restarting!")
config.saveContent('restart_server',0)
2016-07-08 01:05:42 +12:00
2016-07-10 04:40:27 +12:00
@bot.event
async def on_message(message):
if message.author.bot:
return
await bot.process_commands(message)
2016-07-08 10:10:24 +12:00
2016-07-08 01:05:42 +12:00
@bot.event
async def on_member_join(member):
await bot.send_message(member.server, "Welcome to the '{0.server.name}' server {0.mention}!".format(member))
2016-07-08 01:05:42 +12:00
2016-07-08 10:10:24 +12:00
2016-07-08 01:05:42 +12:00
@bot.event
async def on_member_remove(member):
await bot.send_message(member.server, "{0} has left the server, I hope it wasn't because of something I said :c".format(member))
2016-07-08 01:05:42 +12:00
@bot.event
async def on_command_error(error, ctx):
if isinstance(error, commands.CommandNotFound):
fmt = "That is not a valid command! There's a help command for a reason, learn to use it."
await bot.send_message(ctx.message.channel, fmt)
2016-07-12 00:40:03 +12:00
elif isinstance(error, commands.BadArgument):
fmt = "Please provide a valid argument to pass to the command: {}".format(error)
2016-07-12 00:40:03 +12:00
await bot.send_message(ctx.message.channel, fmt)
elif isinstance(error, commands.CheckFailure):
fmt = "You can't tell me what to do!"
await bot.send_message(ctx.message.channel, fmt)
2016-07-17 05:28:15 +12:00
#elif isinstance(error, commands.CommandInvokeError):
#f = open("/home/phxntx5/public_html/Bonfire/error_log", 'w')
#print('In {0.command.qualified_name}:'.format(ctx), file=f)
#traceback.print_tb(error.original.__traceback__, file=f)
#print('{0.__class__.__name__}: {0}'.format(error.original), file=f)
else:
fmt = 'An error occurred while processing this request: ```py\n{}: {}\n```'
await bot.send_message(ctx.message.channel, fmt.format(type(error).__name__, error))
2016-07-09 13:27:19 +12:00
if __name__ == '__main__':
for e in extensions:
bot.load_extension(e)
bot.run(config.botToken)