Задать вопрос
@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
  • Вопрос задан
  • 2473 просмотра
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Проверяйте / фильтруйте сообщения при поиске по типу entity - в вашем случае hashtag
https://core.telegram.org/bots/api#messageentity
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽