@alekssamos
Программист любитель

Как собрать все хештеги из чата Telegram?

Нужно получить по запросу список всех хештегов из определённого чата.
Как это сделать? На ум приходит библиотека telethon. Собрать всю историю сообщений и если там есть знак #, значит это тег.
Но когда я делаю: client.get_messages(chat, 10, search='#')
Он всё равно выдаёт все сообщения.
Тогда решил так:
while True:
		history = await client(GetHistoryRequest(
			peer=channel,
			offset_id=offset_msg,
			offset_date=None, add_offset=0,
			limit=limit_msg, max_id=0, min_id=0,
			hash=0))
		if not history.messages:
			break
		messages = history.messages
		for message in messages:
			# ...Если есть решётка, значит это хештег, 
			# извлекаем, возможно, регулярным выражением
			#добавляем его в список

Будет ли это работать, как я задумывал
или есть способ лучше? Потому что если в группе миллион сообщений, он так каждую будет сканировать, будет же слишком много запросов и можно дойти до лимита или блокировки?
Источники: 1 2
  • Вопрос задан
  • 76 просмотров
Пригласить эксперта
Ответы на вопрос 1
Проверяйте / фильтруйте сообщения при поиске по типу entity - в вашем случае hashtag
https://core.telegram.org/bots/api#messageentity
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы