the -100 tells telethon it's a channel
the - tells telethon it's a chat
the + tells telethon is a user
(this is the same convention as #botapi)
if you don't use a prefix, telethon will look in cache for all types. if it's not in cache, it will attempt to use a user
if you use a prefix, telethon will only get that type from cache. if it's not in cache, it will attempt to use the type your prefix says
internally,
-100123 == PeerChannel(123)
-123 == PeerChat(123)
123 == PeerUser(123)
event.chat_id, event.user_id, client.get_peer_id all return prefixed ids because it's helpful for the library and convenient
updates are the "raw" objects from telegram and those are the original, real values