Разработка ТГ бота для парсинга сообщений в группах по ключевым словам

Цена договорная
26 июля 2024, 12:07 • 17 откликов • 46 просмотров
Требуется реализовать бота для парсинга сообщений из ТГ групп. После добавления бота в группу, происходит анализ каждого сообщения, по ключевым словам/фразам разбираются данные, и в зависимости от условий записываются в гугл-таблицу.

Бот должен работать автономно (предполагается запуск на сервере), вне зависимости от кнопок/команд и т.д. Обычные пользователи группы не должны иметь прав доступа для взаимодействия с ботом.

Если бот добавляется в несколько групп, для каждой группы в одной гугл-таблице создаётся свой лист. Название листа – название группы.

Язык разработки: python

В явном виде должна быть реализована возможность смены токена бота и замена URL-адреса таблицы.

Также требуется комментарии в коде, и объяснение принципов работы бота.

Структура таблицы (названия столбцов):

1.Дата (тип поля дата),

2.Сотрудник (текстовое поле),

3.Курьер (текстовое поле),

4.Приход (числовое поле),

5.Уход (числовое поле),

6.Вид (текстовое поле),

7.Примечание (текстовое поле).

Пример ключевых слов для первой проверки:

['Загрузил','Скинул','Поставка','Отправил']

Пример списка продукции:

['10л ведр','10л канистр', '5л ведр', '5л канистр','Ковш','Ручк']

Пример сообщения 1:

Сотрудник: Ваня

Скинул:

10л ведра – 100 шт

5л ведра – 200 шт

Пакеты большие – 500 шт

Ковшики – 300 шт

Пример сообщения 2:

загрузил

10л ведра – 400 шт

5л ведра – 500 шт

Пакеты большие – 500 шт

Ковшики – 600 шт

Что должно получится в таблице: (см. файл)

Примечания:

1) Слова могут быть записаны в разных регистрах в списке/сообщении, проверка идет по смыслу;

2) Условия:

а) первичный анализ происходит по первому списку. Если в сообщении нет ни одного слова из данного набора, анализ текущего сообщения дальше не проводится, переходим к следующему;

б) слово «Сотрудник» обрабатывается отдельно. Если после искомого слова идет какой-то набор символов [А-Яа-я], значит в столбец «Курьер» заносится этот набор. Если нет подобных символов или само слово в сообщении отсутствует- заносится «Анонимус»;

в) в столбец «Дата» заносится дата сообщения;

г) каждый товар в сообщении идет отдельной строкой (можно разделять через .split('\n'). Если встречается строка с информацией, не содержащей данные из списка продукции – пропускаем;

3) Списки с ключевыми словами/фразами желательно вывести в отдельные файлы для более удобного редактирования.


Технические
требования
обсуждаются
отдельно, бот через Bot API.

Дедлайн: две недели, желательно быстрей.

Оплата: по договоренности, безопасная сделка.

Файлы