discordBot/scr/Modules/Hub/Database/newServer -old-.py
2020-02-26 21:20:12 -06:00

51 lines
2.5 KiB
Python

from discord.ext import commands
import discord
import pymysql
import asyncio
password = open("../../../../sqlPass.txt", 'r')
con = pymysql.connect(host='localhost',
user='Bot',
password=f'{password}',
db='serverIDs',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
class NewServer(commands.Cog):
def __init__(self, client):
self.client = client
@commands.Cog.listener()
async def on_message(self, ctx):
if isinstance(ctx.channel, discord.DMChannel):
if ctx.content.lower() == "add server":
await ctx.channel.send("Send an invite to the server")
invite = await self.client.wait_for("message", check=lambda message: message.author == ctx.author and message.channel == ctx.channel)
is_invite = invite.content.find("discord.gg")
if is_invite > 0:
invite = await self.client.fetch_invite(invite.content, with_counts=True)
print(invite.max_uses)
if not (invite.max_uses is None):
await ctx.channel.send("Please send a invite with no max uses")
elif invite.inviter != ctx.author:
await ctx.channel.send("Please be the creator of the invite")
elif invite.inviter != invite.guild.owner:
await ctx.channel.send("Please be the owner of this server")
else:
await ctx.channel.send("Please send a description of the server")
description = await self.client.wait_for("message", check=lambda message: message.author == ctx.author and message.channel == ctx.channel)
await ctx.channel.send("Please send a list of tags separated by a comma(,) no spaces")
tags = await self.client.wait_for("message", check=lambda message: message.author == ctx.author and message.channel == ctx.channel)
with con:
cur = con.cursor()
cur.execute(f"INSERT INTO servers (ID, name, tags, invite, description) VALUES ({invite.guild.id},'{invite.guild.name}','{tags.content}','{invite.code}','{description.content}')")
else:
await ctx.channel.send("Invalid invite")
await self.client.process_commands(ctx)
def setup(client):
client.add_cog(NewServer(client))