Требуется Python-разработчик для создания Telegram-бота с использованием User API.
Основные задачи бота:
1. Сканировать указанный Telegram-канал и собирать данные из сообщений. 2. Выполнять фильтрацию данных, включая использование Twitter API для проверки информации. 3. Публиковать отфильтрованные данные в заданный Telegram-канал по заранее заданным шаблонам. 4. Реализовать функцию автоматической покупки криптовалюты через Raydium API для монет, которые прошли фильтрацию. 5. Установить бота на сервер, настроить его запуск и обеспечить полноценную работу.
Требуется полностью готовый бот, настроенный и запущенный на сервере.
Логика работы бота:
1. Сканирование целевого канала:
- Бот мониторит сообщения в целевом Telegram-канале t.me/DSTrendingSolana - Анализирует только посты с определенным шаблоном (точнее те что начинается с текстом): ✨ Token info updated for (название монеты) (символ). Пример поста: t.me/DSTrendingSolana/145...
2. Фильтрация по метрикам:
- Извлекает метрики монеты (первичное извлечение для фильтрации): - Ликвидность (Liquidity). - Рыночная капитализация (FDV). - Проверяет, соответствуют ли значения заданным пределам: - Если FDV или ликвидность ниже минимального или выше максимального значения, монета пропускается.
3. Проверка на наличие ссылки на Twitter:
- Извлекает ссылку на Twitter из поста в целевом ТГ – канале. Поддерживаемые типы ссылок: - Ссылка на профиль в твиттере. - Ссылка на конкретный пост в твиттере. - Ссылка на сообщество в твиттере. - Если ссылка отсутствует или является некорректной (например, аккаунт удален), монета пропускается.
4. Проверка просмотров в Twitter:
- Для профилей и сообществ сканируются последние 20 постов (переменная). - Для конкретного поста анализируется только сам пост.
Учитываются просмотры:
- Оригинальных постов. - Ретвитов (просмотры оригинала). - Цитат (просмотры оригинала). - Если хотя бы один пост имеет просмотры, превышающие заданный порог (например, 2000), бот публикует сообщение о монете в заданный Telegram-канал.
5. Фильтрация для автоматической покупки:
- Дополнительно проверяет, набрал ли какой-либо пост в Twitter просмотры, превышающие значение для покупки (например, 20 000). - Если условие выполнено, бот инициирует покупку токена через API Raydium.
Публикация поста:
- Сообщение о монете формируется по заданному шаблону и публикуется в Telegram-канале. - Если монета уже была опубликована (дублируется контрактный адрес), пост игнорируется.
6. Автоматическая покупка токена:
- Если монета проходит фильтр для покупки, бот совершает покупку через Raydium: - Использует заданный размер покупки в SOL. - Учитывает установленное проскальзывание. - В случае ошибки делает до трех попыток. - Уведомляет администратора об успешной или неудачной покупке.