Code:
from telethon import TelegramClient, events, sync
from telethon.tl.types import PeerChat, PeerChannel
api_id = 123
api_hash = '123'
client = TelegramClient('anon', api_id, api_hash)
@client.on(events.NewMessage())
async def my_event_handler(event):
if(event.chat.title == 'BotTest'):
print(event.raw_text)
client.start()
client.run_until_disconnected()
Problem:
So this code works if group(BotTest) has me/bot(one user) "event.chat.title
"(event.chat
) exist but if i join second user (group now has 2 peoples) new messages result in [AttributeError: 'NoneType' object has no attribute 'title'
] so there no [chat
].
How can i get chat from this object?
UPD: There is [event.chat_id
] how question is how to get name from ID.
According to docs:
async def handler(event):
# Good
chat = await event.get_chat()
# BAD. Don't do this
chat = event.chat
So, you should change how you get your chat
object to:
@client.on(events.NewMessage())
async def my_event_handler(event):
chat = await event.get_chat()
if(chat.title == 'BotTest'):
print(event.raw_text)