mirror of
				https://github.com/TitanEmbeds/Titan.git
				synced 2025-11-03 23:37:09 +01:00 
			
		
		
		
	Implemented Webhooks to make sending messages look more real, as an option
This commit is contained in:
		@@ -119,6 +119,7 @@ class DatabaseInterface(object):
 | 
			
		||||
                        session.commit()
 | 
			
		||||
 | 
			
		||||
    async def update_guild(self, guild):
 | 
			
		||||
        server_webhooks = await self.bot.get_server_webhooks(guild)
 | 
			
		||||
        async with threadpool():
 | 
			
		||||
            with self.get_session() as session:
 | 
			
		||||
                gui = session.query(Guilds).filter(Guilds.guild_id == guild.id).first()
 | 
			
		||||
@@ -128,6 +129,7 @@ class DatabaseInterface(object):
 | 
			
		||||
                        guild.name,
 | 
			
		||||
                        json.dumps(self.get_roles_list(guild.roles)),
 | 
			
		||||
                        json.dumps(self.get_channels_list(guild.channels)),
 | 
			
		||||
                        json.dumps(self.get_webhooks_list(server_webhooks)),
 | 
			
		||||
                        json.dumps(self.get_emojis_list(guild.emojis)),
 | 
			
		||||
                        guild.owner_id,
 | 
			
		||||
                        guild.icon
 | 
			
		||||
@@ -137,11 +139,24 @@ class DatabaseInterface(object):
 | 
			
		||||
                    gui.name = guild.name
 | 
			
		||||
                    gui.roles = json.dumps(self.get_roles_list(guild.roles))
 | 
			
		||||
                    gui.channels = json.dumps(self.get_channels_list(guild.channels))
 | 
			
		||||
                    gui.webhooks = json.dumps(self.get_webhooks_list(server_webhooks))
 | 
			
		||||
                    gui.emojis = json.dumps(self.get_emojis_list(guild.emojis))
 | 
			
		||||
                    gui.owner_id = guild.owner_id
 | 
			
		||||
                    gui.icon = guild.icon
 | 
			
		||||
                session.commit()
 | 
			
		||||
    
 | 
			
		||||
    def get_webhooks_list(self, guild_webhooks):
 | 
			
		||||
        webhooks = []
 | 
			
		||||
        for webhook in guild_webhooks:
 | 
			
		||||
            webhooks.append({
 | 
			
		||||
                "id": webhook.id,
 | 
			
		||||
                "guild_id": webhook.server.id,
 | 
			
		||||
                "channel_id": webhook.channel.id,
 | 
			
		||||
                "name": webhook.name,
 | 
			
		||||
                "token": webhook.token,
 | 
			
		||||
            })
 | 
			
		||||
        return webhooks
 | 
			
		||||
    
 | 
			
		||||
    def get_emojis_list(self, guildemojis):
 | 
			
		||||
        emojis = []
 | 
			
		||||
        for emote in guildemojis:
 | 
			
		||||
 
 | 
			
		||||
@@ -12,12 +12,13 @@ class Guilds(Base):
 | 
			
		||||
    mentions_limit = db.Column(db.Integer)          # If there is a limit on the number of mentions in a msg
 | 
			
		||||
    roles = db.Column(db.Text())                    # Guild Roles
 | 
			
		||||
    channels = db.Column(db.Text())                 # Guild channels
 | 
			
		||||
    webhooks = db.Column(db.Text())                 # Guild webhooks
 | 
			
		||||
    emojis = db.Column(db.Text())                   # Guild Emojis
 | 
			
		||||
    owner_id = db.Column(db.String(255))            # Snowflake of the owner
 | 
			
		||||
    icon = db.Column(db.String(255))                # The icon string, null if none
 | 
			
		||||
    discordio = db.Column(db.String(255))           # Custom Discord.io Invite Link
 | 
			
		||||
 | 
			
		||||
    def __init__(self, guild_id, name, roles, channels, emojis, owner_id, icon):
 | 
			
		||||
    def __init__(self, guild_id, name, roles, channels, webhooks, emojis, owner_id, icon):
 | 
			
		||||
        self.guild_id = guild_id
 | 
			
		||||
        self.name = name
 | 
			
		||||
        self.unauth_users = True # defaults to true
 | 
			
		||||
@@ -27,6 +28,7 @@ class Guilds(Base):
 | 
			
		||||
        self.mentions_limit = -1 # -1 = unlimited mentions
 | 
			
		||||
        self.roles = roles
 | 
			
		||||
        self.channels = channels
 | 
			
		||||
        self.webhooks = webhooks
 | 
			
		||||
        self.emojis = emojis
 | 
			
		||||
        self.owner_id = owner_id
 | 
			
		||||
        self.icon = icon
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user