mirror of
https://github.com/TitanEmbeds/Titan.git
synced 2025-06-16 19:35:24 +02:00
Use a more optimal primary key and integer to store snowflakes
This commit is contained in:
@ -448,7 +448,7 @@ def user_info(guild_id, user_id):
|
||||
}
|
||||
member = db.session.query(GuildMembers).filter(GuildMembers.guild_id == guild_id, GuildMembers.user_id == user_id).first()
|
||||
if member:
|
||||
usr["id"] = member.user_id
|
||||
usr["id"] = str(member.user_id)
|
||||
usr["username"] = member.username
|
||||
usr["nickname"] = member.nickname
|
||||
usr["discriminator"] = member.discriminator
|
||||
|
@ -32,14 +32,14 @@ class Gateway(Namespace):
|
||||
if session.get("unauthenticated", True) and guild_id in session.get("user_keys", {}):
|
||||
join_room("IP_"+get_client_ipaddr())
|
||||
elif not session.get("unauthenticated", True):
|
||||
join_room("USER_"+session["user_id"])
|
||||
join_room("USER_"+str(session["user_id"]))
|
||||
visitor_mode = data["visitor_mode"]
|
||||
if not visitor_mode:
|
||||
if session["unauthenticated"]:
|
||||
emit("embed_user_connect", {"unauthenticated": True, "username": session["username"], "discriminator": session["user_id"]}, room="GUILD_"+guild_id)
|
||||
else:
|
||||
nickname = db.session.query(GuildMembers).filter(GuildMembers.guild_id == guild_id, GuildMembers.user_id == session["user_id"]).first().nickname
|
||||
emit("embed_user_connect", {"unauthenticated": False, "id": session["user_id"], "nickname": nickname, "username": session["username"],"discriminator": session["discriminator"], "avatar_url": session["avatar"]}, room="GUILD_"+guild_id)
|
||||
emit("embed_user_connect", {"unauthenticated": False, "id": str(session["user_id"]), "nickname": nickname, "username": session["username"],"discriminator": session["discriminator"], "avatar_url": session["avatar"]}, room="GUILD_"+guild_id)
|
||||
emit("identified")
|
||||
self.teardown_db_session()
|
||||
|
||||
@ -51,7 +51,7 @@ class Gateway(Namespace):
|
||||
if session["unauthenticated"]:
|
||||
msg = {"unauthenticated": True, "username": session["username"], "discriminator": session["user_id"]}
|
||||
else:
|
||||
msg = {"unauthenticated": False, "id": session["user_id"]}
|
||||
msg = {"unauthenticated": False, "id": str(session["user_id"])}
|
||||
emit("embed_user_disconnect", msg, room="GUILD_"+guild_id)
|
||||
if guild_webhooks_enabled(guild_id): # Delete webhooks
|
||||
dbguild = db.session.query(Guilds).filter(Guilds.guild_id == guild_id).first()
|
||||
@ -111,7 +111,7 @@ class Gateway(Namespace):
|
||||
'username': dbMember.username,
|
||||
'nickname': dbMember.nickname,
|
||||
'discriminator': dbMember.discriminator,
|
||||
'user_id': session['user_id'],
|
||||
'user_id': str(session['user_id']),
|
||||
}
|
||||
emit("current_user_info", usr)
|
||||
self.teardown_db_session()
|
||||
@ -157,7 +157,7 @@ class Gateway(Namespace):
|
||||
}
|
||||
member = db.session.query(GuildMembers).filter(GuildMembers.guild_id == guild_id, GuildMembers.username == name, GuildMembers.discriminator == discriminator).first()
|
||||
if member:
|
||||
usr["id"] = member.user_id
|
||||
usr["id"] = str(member.user_id)
|
||||
usr["username"] = member.username
|
||||
usr["nickname"] = member.nickname
|
||||
usr["avatar"] = member.avatar
|
||||
@ -169,7 +169,7 @@ class Gateway(Namespace):
|
||||
else:
|
||||
member = db.session.query(GuildMembers).filter(GuildMembers.guild_id == guild_id, GuildMembers.nickname == name, GuildMembers.discriminator == discriminator).first()
|
||||
if member:
|
||||
usr["id"] = member.user_id
|
||||
usr["id"] = str(member.user_id)
|
||||
usr["username"] = member.username
|
||||
usr["nickname"] = member.nickname
|
||||
usr["avatar"] = member.avatar
|
||||
|
@ -41,7 +41,7 @@ def callback():
|
||||
session['unauthenticated'] = False
|
||||
session.permanent = True
|
||||
user = get_current_authenticated_user()
|
||||
session['user_id'] = user['id']
|
||||
session['user_id'] = int(user['id'])
|
||||
session['username'] = user['username']
|
||||
session['discriminator'] = user['discriminator']
|
||||
session['avatar'] = generate_avatar_url(user['id'], user['avatar'], user['discriminator'])
|
||||
|
@ -2,8 +2,7 @@ from titanembeds.database import db
|
||||
|
||||
class Administrators(db.Model):
|
||||
__tablename__ = "administrators"
|
||||
id = db.Column(db.Integer, primary_key=True) # Auto increment id
|
||||
user_id = db.Column(db.String(255), nullable=False) # Discord user id of user of an administrator
|
||||
user_id = db.Column(db.BigInteger, nullable=False, primary_key=True) # Discord user id of user of an administrator
|
||||
|
||||
def get_administrators_list():
|
||||
q = db.session.query(Administrators).all()
|
||||
|
@ -5,8 +5,8 @@ import time
|
||||
class AuthenticatedUsers(db.Model):
|
||||
__tablename__ = "authenticated_users"
|
||||
id = db.Column(db.Integer, primary_key=True) # Auto increment id
|
||||
guild_id = db.Column(db.String(255), nullable=False) # Guild pretaining to the authenticated user
|
||||
client_id = db.Column(db.String(255), nullable=False) # Client ID of the authenticated user
|
||||
guild_id = db.Column(db.BigInteger, nullable=False) # Guild pretaining to the authenticated user
|
||||
client_id = db.Column(db.BigInteger, nullable=False) # Client ID of the authenticated user
|
||||
|
||||
def __init__(self, guild_id, client_id):
|
||||
self.guild_id = guild_id
|
||||
|
@ -3,8 +3,7 @@ import json
|
||||
|
||||
class Cosmetics(db.Model):
|
||||
__tablename__ = "cosmetics"
|
||||
id = db.Column(db.Integer, primary_key=True) # Auto increment id
|
||||
user_id = db.Column(db.String(255), nullable=False) # Discord user id of user of cosmetics
|
||||
user_id = db.Column(db.BigInteger, nullable=False, primary_key=True) # Discord user id of user of cosmetics
|
||||
css = db.Column(db.Boolean(), nullable=False) # If they can create/edit custom CSS
|
||||
css_limit = db.Column(db.Integer, nullable=False, server_default="0") # Custom CSS Limit
|
||||
guest_icon = db.Column(db.Boolean(), nullable=False, server_default=db.false()) # If they can set the guest icon for all guilds
|
||||
|
@ -1,9 +1,8 @@
|
||||
from titanembeds.database import db
|
||||
|
||||
class DisabledGuilds(db.Model):
|
||||
__tablename__ = "disabled_guilds"
|
||||
id = db.Column(db.Integer, primary_key=True) # Auto increment id
|
||||
guild_id = db.Column(db.String(255), nullable=False) # Server id that is disabled
|
||||
__tablename__ = "disabled_guilds" # Auto increment id
|
||||
guild_id = db.Column(db.BigInteger, nullable=False, primary_key=True) # Server id that is disabled
|
||||
|
||||
def __init__(self, guild_id):
|
||||
self.guild_id = guild_id
|
||||
|
@ -4,8 +4,8 @@ import json
|
||||
class GuildMembers(db.Model):
|
||||
__tablename__ = "guild_members"
|
||||
id = db.Column(db.Integer, primary_key=True) # Auto incremented id
|
||||
guild_id = db.Column(db.String(255), nullable=False) # Discord guild id
|
||||
user_id = db.Column(db.String(255), nullable=False) # Discord user id
|
||||
guild_id = db.Column(db.BigInteger, nullable=False) # Discord guild id
|
||||
user_id = db.Column(db.BigInteger, nullable=False) # Discord user id
|
||||
username = db.Column(db.String(255), nullable=False) # Name
|
||||
discriminator = db.Column(db.Integer, nullable=False) # User discriminator
|
||||
nickname = db.Column(db.String(255)) # User nickname
|
||||
|
@ -2,8 +2,7 @@ from titanembeds.database import db
|
||||
|
||||
class Guilds(db.Model):
|
||||
__tablename__ = "guilds"
|
||||
id = db.Column(db.Integer, primary_key=True) # Auto incremented id
|
||||
guild_id = db.Column(db.String(255), nullable=False) # Discord guild id
|
||||
guild_id = db.Column(db.BigInteger, nullable=False, primary_key=True) # Discord guild id
|
||||
name = db.Column(db.String(255), nullable=False) # Name
|
||||
unauth_users = db.Column(db.Boolean(), nullable=False, default=1) # If allowed unauth users
|
||||
visitor_view = db.Column(db.Boolean(), nullable=False, default=0) # If users are automatically "signed in" and can view chat
|
||||
@ -17,7 +16,7 @@ class Guilds(db.Model):
|
||||
channels = db.Column(db.Text().with_variant(db.Text(4294967295), 'mysql'), nullable=False) # Guild channels
|
||||
webhooks = db.Column(db.Text().with_variant(db.Text(4294967295), 'mysql'), nullable=False) # Guild webhooks
|
||||
emojis = db.Column(db.Text().with_variant(db.Text(4294967295), 'mysql'), nullable=False) # Guild Emojis
|
||||
owner_id = db.Column(db.String(255), nullable=False) # Snowflake of the owner
|
||||
owner_id = db.Column(db.BigInteger, nullable=False) # Snowflake of the owner
|
||||
icon = db.Column(db.String(255)) # The icon string, null if none
|
||||
invite_link = db.Column(db.String(255)) # Custom Discord Invite Link
|
||||
|
||||
|
@ -4,10 +4,9 @@ import json
|
||||
|
||||
class Messages(db.Model):
|
||||
__tablename__ = "messages"
|
||||
id = db.Column(db.Integer, primary_key=True) # Auto incremented id
|
||||
guild_id = db.Column(db.String(255), nullable=False) # Discord guild id
|
||||
channel_id = db.Column(db.String(255), nullable=False) # Channel id
|
||||
message_id = db.Column(db.String(255), nullable=False) # Message snowflake
|
||||
message_id = db.Column(db.BigInteger, nullable=False, primary_key=True) # Message snowflake
|
||||
guild_id = db.Column(db.BigInteger, nullable=False) # Discord guild id
|
||||
channel_id = db.Column(db.BigInteger, nullable=False) # Channel id
|
||||
content = db.Column(db.Text(), nullable=False) # Message contents
|
||||
author = db.Column(db.Text(), nullable=False) # Author
|
||||
timestamp = db.Column(db.TIMESTAMP, nullable=False) # Timestamp of when content is created
|
||||
@ -35,7 +34,7 @@ def get_channel_messages(guild_id, channel_id, after_snowflake=None):
|
||||
if not after_snowflake:
|
||||
q = db.session.query(Messages).filter(Messages.channel_id == channel_id).order_by(Messages.timestamp.desc()).limit(50)
|
||||
else:
|
||||
q = db.session.query(Messages).filter(cast(Messages.channel_id, db.BigInteger) == int(channel_id)).filter(cast(Messages.message_id, db.BigInteger) > after_snowflake).order_by(Messages.timestamp.desc()).limit(50)
|
||||
q = db.session.query(Messages).filter(Messages.channel_id == channel_id).filter(Messages.message_id > after_snowflake).order_by(Messages.timestamp.desc()).limit(50)
|
||||
msgs = []
|
||||
snowflakes = []
|
||||
for x in q:
|
||||
@ -48,11 +47,11 @@ def get_channel_messages(guild_id, channel_id, after_snowflake=None):
|
||||
message = {
|
||||
"attachments": json.loads(x.attachments),
|
||||
"timestamp": x.timestamp,
|
||||
"id": x.message_id,
|
||||
"id": str(x.message_id),
|
||||
"edited_timestamp": x.edited_timestamp,
|
||||
"author": json.loads(x.author),
|
||||
"content": x.content,
|
||||
"channel_id": x.channel_id,
|
||||
"channel_id": str(x.channel_id),
|
||||
"mentions": json.loads(x.mentions),
|
||||
"embeds": json.loads(embeds),
|
||||
}
|
||||
|
@ -2,8 +2,7 @@ from titanembeds.database import db
|
||||
|
||||
class Patreon(db.Model):
|
||||
__tablename__ = "patreon"
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
user_id = db.Column(db.String(255), nullable=False) # User ID from patreon
|
||||
user_id = db.Column(db.BigInteger, nullable=False, primary_key=True) # User ID from patreon
|
||||
total_synced = db.Column(db.Integer, nullable=False) # Total cents synced on our end
|
||||
|
||||
def __init__(self, user_id, total_synced=0):
|
||||
|
@ -2,8 +2,7 @@ from titanembeds.database import db
|
||||
|
||||
class TitanTokens(db.Model):
|
||||
__tablename__ = "titan_tokens"
|
||||
id = db.Column(db.Integer, primary_key=True) # Auto increment id
|
||||
user_id = db.Column(db.String(255), nullable=False) # Discord user id of user
|
||||
user_id = db.Column(db.BigInteger, nullable=False, primary_key=True) # Discord user id of user
|
||||
tokens = db.Column(db.Integer, nullable=False, default=0) # Token amount
|
||||
|
||||
def __init__(self, user_id, tokens):
|
||||
|
@ -5,7 +5,7 @@ import time
|
||||
class TokenTransactions(db.Model):
|
||||
__tablename__ = "token_transactions"
|
||||
id = db.Column(db.Integer, primary_key=True) # Auto increment id
|
||||
user_id = db.Column(db.String(255), nullable=False) # Discord user id of user
|
||||
user_id = db.Column(db.BigInteger, nullable=False) # Discord user id of user
|
||||
timestamp = db.Column(db.TIMESTAMP, nullable=False) # The timestamp of when the action took place
|
||||
action = db.Column(db.String(255), nullable=False) # Very short description of the action
|
||||
net_tokens = db.Column(db.Integer, nullable=False) # Net change of the token amount
|
||||
|
@ -5,14 +5,14 @@ import time
|
||||
class UnauthenticatedBans(db.Model):
|
||||
__tablename__ = "unauthenticated_bans"
|
||||
id = db.Column(db.Integer, primary_key=True) # Auto increment id
|
||||
guild_id = db.Column(db.String(255), nullable=False) # Guild pretaining to the unauthenticated user
|
||||
guild_id = db.Column(db.BigInteger, nullable=False) # Guild pretaining to the unauthenticated user
|
||||
ip_address = db.Column(db.String(255), nullable=False) # The IP Address of the user
|
||||
last_username = db.Column(db.String(255), nullable=False) # The username when they got banned
|
||||
last_discriminator = db.Column(db.Integer, nullable=False) # The discrim when they got banned
|
||||
timestamp = db.Column(db.TIMESTAMP, nullable=False) # The timestamp of when the user got banned
|
||||
reason = db.Column(db.Text()) # The reason of the ban set by the guild moderators
|
||||
lifter_id = db.Column(db.String(255)) # Discord Client ID of the user who lifted the ban
|
||||
placer_id = db.Column(db.String(255), nullable=False) # The id of who placed the ban
|
||||
lifter_id = db.Column(db.BigInteger) # Discord Client ID of the user who lifted the ban
|
||||
placer_id = db.Column(db.BigInteger, nullable=False) # The id of who placed the ban
|
||||
|
||||
def __init__(self, guild_id, ip_address, last_username, last_discriminator, reason, placer_id):
|
||||
self.guild_id = guild_id
|
||||
|
@ -7,7 +7,7 @@ import string
|
||||
class UnauthenticatedUsers(db.Model):
|
||||
__tablename__ = "unauthenticated_users"
|
||||
id = db.Column(db.Integer, primary_key=True, nullable=False) # Auto increment id
|
||||
guild_id = db.Column(db.String(255), nullable=False) # Guild pretaining to the unauthenticated user
|
||||
guild_id = db.Column(db.BigInteger, nullable=False) # Guild pretaining to the unauthenticated user
|
||||
username = db.Column(db.String(255), nullable=False) # The username of the user
|
||||
discriminator = db.Column(db.Integer, nullable=False) # The discriminator to distinguish unauth users with each other
|
||||
user_key = db.Column(db.Text(), nullable=False) # The secret key used to identify the user holder
|
||||
|
@ -4,7 +4,7 @@ class UserCSS(db.Model):
|
||||
__tablename__ = "user_css"
|
||||
id = db.Column(db.Integer, primary_key=True) # Auto increment id
|
||||
name = db.Column(db.String(255), nullable=False) # CSS Name
|
||||
user_id = db.Column(db.String(255), nullable=False) # Discord client ID of the owner of the css (can edit)
|
||||
user_id = db.Column(db.BigInteger, nullable=False) # Discord client ID of the owner of the css (can edit)
|
||||
css_var_bool = db.Column(db.Boolean(), nullable=False, server_default="0") # If css variables should be taken into consideration
|
||||
css_variables = db.Column(db.Text()) # Customizeable CSS Variables
|
||||
css = db.Column(db.Text().with_variant(db.Text(4294967295), 'mysql')) # CSS contents
|
||||
|
@ -130,7 +130,7 @@ def update_user_status(guild_id, username, user_key=None):
|
||||
'nickname': None,
|
||||
'user_key': user_key,
|
||||
'guild_id': guild_id,
|
||||
'user_id': session['user_id'],
|
||||
'user_id': str(session['user_id']),
|
||||
'banned': checkUserBanned(guild_id, ip_address),
|
||||
'revoked': checkUserRevoke(guild_id, user_key),
|
||||
}
|
||||
@ -151,7 +151,7 @@ def update_user_status(guild_id, username, user_key=None):
|
||||
'nickname': None,
|
||||
'discriminator': session['discriminator'],
|
||||
'guild_id': guild_id,
|
||||
'user_id': session['user_id'],
|
||||
'user_id': str(session['user_id']),
|
||||
'banned': checkUserBanned(guild_id),
|
||||
'revoked': checkUserRevoke(guild_id)
|
||||
}
|
||||
|
Reference in New Issue
Block a user