from discord.ext.commands import Bot import discord import random import math # version 1.0 prefix = 'o!' token = "NTAxNDg1OTA2ODAxNDU5MjAw.DqaHWQ.MZ_B52xFTKyffRJ9pmMiYLVHYhM" client = Bot(command_prefix=prefix) client.remove_command("help") ouat_bypass = open("Data/ouat_bypass.txt", 'r') @client.command(name='8ball', description='Answers a yes or no question', brief="Its an 8ball", aliases=['eight_ball', 'eightball', '8bal'], pass_context=True) async def eight_ball(context): possible_responses = [ 'That is a resounding no', 'It is not looking likely', 'Too hard to tell', 'It is quite possible', 'Definitely', 'That is a resounding no', 'It is not looking likely', 'Too hard to tell', 'It is quite possible', 'Definitely', 'That is a resounding no', 'It is not looking likely', 'Too hard to tell', 'It is quite possible', 'Definitely', 'That is a resounding no', 'It is not looking likely', 'Too hard to tell', 'It is quite possible', 'Definitely', 'That is a resounding no', 'It is not looking likely', 'Too hard to tell', 'It is quite possible', 'Definitely', 'That is a resounding no', 'It is not looking likely', 'Too hard to tell', 'It is quite possible', 'Definitely', 'That is a resounding no', 'It is not looking likely', 'Too hard to tell', 'It is quite possible', 'Definitely', 'That is a resounding no', 'It is not looking likely', 'Too hard to tell', 'It is quite possible', 'Definitely', 'That is a resounding no', 'It is not looking likely', 'Too hard to tell', 'It is quite possible', 'Definitely', 'That is a resounding no', 'It is not looking likely', 'Too hard to tell', 'It is quite possible', 'Definitely', 'That is a resounding no', 'It is not looking likely', 'Too hard to tell', 'It is quite possible', 'Definitely', 'Na man your gay' ] await client.say(random.choice(possible_responses) + ", " + context.message.author.mention) @client.command(name='Add', description='Adds two real numbers', brief="MATHS", aliases=['add', '+'], pass_context=True) async def add(context, number, second_number): added = float(number) + float(second_number) await client.say( context.message.author.mention + ' ' + str(number) + " + " + str(second_number) + " is " + str(added)) @client.command(name='Square root', description='Squares a real number', brief='Hard MATHS', aliases=['squareroot', 'square_root', 'sqrt'], pass_context=True) async def sqrt(context, number): squared = math.sqrt(float(number)) await client.say(context.message.author.mention + ', ' + str(number) + " Squared is " + str(squared)) @client.command(pass_context=True) async def rules_update(ctx): if ctx.message.author.id == '305589587215122432': rules = open("Data/Rules", 'r') await client.purge_from(client.get_channel("501176716962824212")) await client.send_message(client.get_channel("501176716962824212"), rules.read()) else: await client.say("Incorrect permission, If you believe this is a mistake please contact bot developer") @client.command(pass_context=True) async def rules_add(ctx, new_rule): if ctx.message.author.id == '305589587215122432': rules = open("Data/Rules", 'a') rules.write('\n') rules.write('\n') rules.write(new_rule) else: await client.say("Incorrect permission, If you believe this is a mistake please contact bot developer") @client.command(pass_context=True) async def help(ctx): author = ctx.message.author embed = discord.Embed( colour=discord.Colour.green() ) embed.set_author(name="help") embed.add_field(name="eight_ball", value="Answers a question ~ Usage - !8ball", inline=False) embed.add_field(name="Add", value="Adds two real numbers ~ Usage - !add NUMBER NUMBER", inline=False) embed.add_field(name="Square root", value="Squares a real number ~ Usage - !sqrt NUMBER", inline=False) await client.send_message(author, embed=embed) @client.event async def on_message(message): if message.channel.id == "507386320604102696": temp = 0 temp2 = 0 contents = message.content.split() string_contents = ''.join(contents) temp_contents = message.content.split('.') n = len(string_contents) y = 0 try: for k in range(n): x = (string_contents[k]) y = y + 1 if x == '.': temp = temp + 1 if ((len(contents) >= 3) or (len(temp_contents) >= 3)) and (temp > 1) and (temp2 == 0): await client.delete_message(message) temp2 = 1 else: if (not(x == '.') and(y == n)) or (temp >= 2) and (temp2 == 0): await client.delete_message(message) temp2 = 1 except: # this is here to do nothing return True await client.process_commands(message) client.run(token)