Better nickname support

- Username field will not be overwritten with the nickname.
- Mentions work again!
- User chip will show nickname instead of username if present
- Authenticated embed users sidebar nickname support
This commit is contained in:
Jeremy Zhang
2017-08-10 02:05:05 +00:00
parent 98d13e9feb
commit 77bde8f258
6 changed files with 43 additions and 17 deletions

View File

@ -6,7 +6,7 @@ from guilds import Guilds
from unauthenticated_users import UnauthenticatedUsers
from unauthenticated_bans import UnauthenticatedBans
from authenticated_users import AuthenticatedUsers
from guild_members import GuildMembers, list_all_guild_members
from guild_members import GuildMembers, list_all_guild_members, get_guild_member
from keyvalue_properties import KeyValueProperties, set_keyvalproperty, get_keyvalproperty, getexpir_keyvalproperty, setexpir_keyvalproperty, ifexists_keyvalproperty, delete_keyvalproperty
from messages import Messages, get_channel_messages
from cosmetics import Cosmetics

View File

@ -43,3 +43,6 @@ def list_all_guild_members(guild_id):
"nickname": member.nickname,
})
return memlist
def get_guild_member(guild_id, member_id):
return db.session.query(GuildMembers).filter(GuildMembers.guild_id == guild_id, GuildMembers.user_id == member_id).first()

View File

@ -1,4 +1,4 @@
from titanembeds.database import db
from titanembeds.database import db, get_guild_member
from sqlalchemy import cast
import json
@ -29,7 +29,7 @@ class Messages(db.Model):
def __repr__(self):
return '<Messages {0} {1} {2} {3} {4}>'.format(self.id, self.guild_id, self.guild_id, self.channel_id, self.message_id)
def get_channel_messages(channel_id, after_snowflake=None):
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:
@ -40,7 +40,7 @@ def get_channel_messages(channel_id, after_snowflake=None):
if x.message_id in snowflakes:
continue
snowflakes.append(x.message_id)
msgs.append({
message = {
"attachments": json.loads(x.attachments),
"timestamp": x.timestamp,
"id": x.message_id,
@ -49,5 +49,10 @@ def get_channel_messages(channel_id, after_snowflake=None):
"content": x.content,
"channel_id": x.channel_id,
"mentions": json.loads(x.mentions)
})
}
member = get_guild_member(guild_id, message["author"]["id"])
message["author"]["nickname"] = None
if member:
message["author"]["nickname"] = member.nickname
msgs.append(message)
return msgs