Removed DisplayName in favor of ToString() for User classes

This commit is contained in:
Wizou 2021-10-17 03:16:51 +02:00
parent 480697d329
commit 80edb184bc
2 changed files with 6 additions and 6 deletions

View file

@ -39,7 +39,7 @@ namespace WTelegramClientTest
private static readonly Dictionary<long, UserBase> users = new();
private static readonly Dictionary<long, ChatBase> chats = new();
private static string AUser(long user_id) => users.TryGetValue(user_id, out var user) ? user.DisplayName : $"User {user_id}";
private static string AUser(long user_id) => users.TryGetValue(user_id, out var user) ? user.ToString() : $"User {user_id}";
private static string AChat(long chat_id) => chats.TryGetValue(chat_id, out var chat) ? chat.ToString() : $"Chat {chat_id}";
private static string APeer(Peer peer) => peer is null ? null : peer is PeerUser user ? AUser(user.user_id)
: peer is PeerChat chat ? AChat(chat.chat_id) : peer is PeerChannel channel ? AChat(channel.channel_id) : $"Peer {peer.ID}";
@ -71,7 +71,7 @@ namespace WTelegramClientTest
switch (update)
{
case UpdateNewMessage unm: DisplayMessage(unm.message); break;
case UpdateEditMessage uem: Console.Write("(Edit): "); DisplayMessage(uem.message); break;
case UpdateEditMessage uem: DisplayMessage(uem.message, true); break;
case UpdateDeleteChannelMessages udcm: Console.WriteLine($"{udcm.messages.Length} message(s) deleted in {AChat(udcm.channel_id)}"); break;
case UpdateDeleteMessages udm: Console.WriteLine($"{udm.messages.Length} message(s) deleted"); break;
case UpdateUserTyping uut: Console.WriteLine($"{AUser(uut.user_id)} is {uut.action}"); break;
@ -85,8 +85,9 @@ namespace WTelegramClientTest
}
}
private static void DisplayMessage(MessageBase messageBase)
private static void DisplayMessage(MessageBase messageBase, bool edit = false)
{
if (edit) Console.Write("(Edit): ");
switch (messageBase)
{
case Message m: Console.WriteLine($"{APeer(m.from_id) ?? m.post_author} in {APeer(m.peer_id)}> {m.message}"); break;

View file

@ -64,7 +64,6 @@ namespace TL
partial class UserBase
{
public abstract long ID { get; }
public abstract string DisplayName { get; }
protected abstract InputPeer ToInputPeer();
protected abstract InputUserBase ToInputUser();
public static implicit operator InputPeer(UserBase user) => user.ToInputPeer();
@ -73,14 +72,14 @@ namespace TL
partial class UserEmpty
{
public override long ID => id;
public override string DisplayName => null;
public override string ToString() => null;
protected override InputPeer ToInputPeer() => null;
protected override InputUserBase ToInputUser() => null;
}
partial class User
{
public override long ID => id;
public override string DisplayName => username != null ? '@' + username : last_name == null ? first_name : $"{first_name} {last_name}";
public override string ToString() => username != null ? '@' + username : last_name == null ? first_name : $"{first_name} {last_name}";
protected override InputPeer ToInputPeer() => new InputPeerUser { user_id = id, access_hash = access_hash };
protected override InputUserBase ToInputUser() => new InputUser { user_id = id, access_hash = access_hash };
}