В Телеграмма не работает бот

В этой серии статей мы напишем телеграм бота на python. Он работает с внешним API, запрашивает результаты футбольных матчей и выводить их в сообщении.

Когда локальная версия будет готова, разместим бота на сервере. Вместо Heroku, я выбрал отдельную виртуальную машину, что бы бот не засыпал. Это ближе к реальности.

Вся разработка разбита на этапы:

  1. Локальная установка библиотек и Redis.
  2. Регистрация и получение токена.
  3. Настройка , подключение к базам данных.
  4. Написание основной функциональности бота.
  5. Регистрации, выбор и настройка внешнего апи футбольных матчей.
  6. Добавление сбора результатов матчей и интеграция в бота.
  7. Деплой, публикация на сервере:
  1. Регистрация дешевого или бесплатного VPS.
  2. Запуск Редис-клиента.
  3. Запуск и настройка бота на сервере.

Вводные данные

Материал рассчитан на уровень Начинающий+, нужно понимать как работают классы и функции, знать основы базы данных и async/await. Если знаний мало, крайне желательно писать код в Pycharm, бесплатная версия подходит.

Что делать ели бот администратор канала не работает?

Используйте указанные версии библиотек, что бы проект работал без изменений. При установке иных версий вы можете получать ошибки, связанные с совместимостью.

Версия Python — 3.8+ aiogram==2.11.2 emoji==1.1.0 redis==3.5.3 ujson==4.0.1 uvloop==0.14.0 # не работает и не требуется на Windows

Локальная установка библиотек для бота и Redis

Для начала нужно создать проект «fonlinebot» с виртуальным окружение. В Pycharm это делается так:

pycharm new project

Затем установить библиотеки в виртуальном окружении. Сразу понадобятся 4: для бота, работы с redis, ускорения и emoji в сообщениях.

pip install aiogram==2.11.2 redis==3.5.3 ujson==4.0.1 emoji==1.1.0

Установка Redis локально

Redis — это резидентная база данных (такая, которая хранит записи прямо в оперативной памяти) в виде пар ключ-значение. Чтение и запись в память происходит намного быстрее, чем в случае с дисками, поэтому такой подход отлично подходит для хранения второстепенных данных.

Из недавней статьи — Redis для приложений на Python

Для установки Redis на Linux/Mac следуйте этим инструкциям: https://redis.io/download#from-source-code. Для запуска достаточно ввести src/redis-server .

Что бы установить на Windows скачайте и распакуйте архив отсюда. Для запуска откройте «redis-server.exe».

Теперь нужно убедиться, что все работает. Создайте файл «main.py» в корне проекта и выполните этот код:

# fonlinebot/main.py import redis r = redis.StrictRedis() print(r.ping())

Вывод будет True , в другом случае ошибка.

Регистрация бота и получение токена

Для регистрации напишем https://t.me/botfather команду /newbot . Далее он просит ввести имя и адрес бота. Если данные корректны, выдает токен. Учтите, что адрес должен быть уникальным, нельзя использовать «fonlinebot» снова.

Футбольный телеграм бот на Python (1/4): Подготовка и настройка бота

На время разработки сохраним токен в файл. Создайте «config.py» в папке проекта для хранения настроек и запишите токен TOKEN = «ВАШ ТОКЕН»

Настройка бота

Теперь нужно связать бота с redis и базой данных, проверить работоспособность.

Создадим необходимые модули и файлы. В папке «fonlinebot» к созданным ранее «main.py» и «config.py» добавим: «database.py», «requirements.txt» и папку «app». В папку «app» добавьте: «bot.py», «dialogs.py», «service.py». Вот такая структура получится:

Футбольный телеграм бот на Python (1/4): Подготовка и настройка бота

Разделив бот на модули, его удобнее поддерживать и дорабатывать.

  • «main.py» — для запуска бота.
  • «config.py» — хранит настройки, ключи доступов и другую статическую информацию.
  • «database.py» — для работы с базой данных и кешем(redis).
  • «requirements.txt» — хранит зависимости проекта, для запуска на сервере.
  • «app» — папка самого бота.
  • «bot.py» — для взаимодействия бота с юзерами, ответы на сообщения.
  • «dialogs.py» — все текстовые ответы бота.
  • «service.py» — бизнес логика, получение и обработка данных о матчах.

Пришло время перейти к программированию. Запишем в «requirements.txt» наши зависимости:

Еще по теме:  О чем заставляет задуматься произведение Телеграмма

aiogram==2.11.2 emoji==1.1.0 redis==3.5.3 ujson==4.0.1 uvloop==0.14.0

Так как большая часть программирует на Windows, uvloop мы не устанавливали локально. Установим его на сервере.

В «config.py» к токену добавим данные бота и подключения к redis.

# fonlinebot/config.py import ujson import logging logging.basicConfig(level=logging.INFO) TOKEN = «здесь должен быть токен» BOT_VERSION = 0.1 # База данных хранит выбранные юзером лиги BOT_DB_NAME = «users_leagues» # Тестовые данные поддерживаемых лиг BOT_LEAGUES = < «1»: «Бундеслига», «2»: «Серия А», «3»: «Ла Лига», «4»: «Турецкая Суперлига», «5»: «Чемпионат Нидерландов», «6»: «Про-лига Бельгии», «7»: «Английская Премьер-лига», «8»: «Лига 1», ># Флаги для сообщений, emoji-код BOT_LEAGUE_FLAGS = < «1»: «:Germany:», «2»: «:Italy:», «3»: «:Spain:», «4»: «:Turkey:», «5»: «:Netherlands:», «6»: «:Belgium:», «7»: «:England:», «8»: «:France:», ># Данные redis-клиента REDIS_HOST = ‘localhost’ REDIS_PORT = 6379 # По умолчанию пароля нет. Он будет на сервере REDIS_PASSWORD = None

Информацию о лигах в будущем можно будет вынести в отдельный json файл. Эта версия бота будет поддерживать не более 10 вариантов, я явно их записал.

Добавление базы данных

Теперь добавим классы для работы с базой данных sqlite и redis. База данных нужна для сохранения предпочтений по лигам юзеров.

Юзер будет выбирать 3 чемпионата для отслеживания, бот сохранит их в БД и использует для запроса результатов.

Кеш(redis) будет сохранять результаты матчей, что бы уменьшить количество запросов к API и ускорить время ответов. Как правило, бесплатные API лимитирует запросы.

# fonlinebot/database.py import os import logging import sqlite3 import redis import ujson import config # класс наследуется от redis.StrictRedis class Cache(redis.StrictRedis): def __init__(self, host, port, password, charset=»utf-8″, decode_responses=True): super(Cache, self).__init__(host, port, password=password, charset=charset, decode_responses=decode_responses) logging.info(«Redis start») def jset(self, name, value, ex=0): «»»функция конвертирует python-объект в Json и сохранит»»» r = self.get(name) if r is None: return r return ujson.loads(r) def jget(self, name): «»»функция возвращает Json и конвертирует в python-объект»»» return ujson.loads(self.get(name))

Класс Cache наследуется от StrictRedis . Мы добавляем 2 метода jset , jget для сохранения списков и словарей python в хранилище redis. Изначально он не работает с ними.

Теперь добавим класс, который будет создавать базы данных и выполнять функции CRUD.

# fonlinebot/database.py #. class Database: «»» Класс работы с базой данных «»» def __init__(self, name): self.name = name self._conn = self.connection() logging.info(«Database connection established») def create_db(self): connection = sqlite3.connect(f».db») logging.info(«Database created») cursor = connection.cursor() cursor.execute(»’CREATE TABLE users (id INTEGER PRIMARY KEY, leagues VARCHAR NOT NULL);»’) connection.commit() cursor.close() def connection(self): db_path = os.path.join(os.getcwd(), f».db») if not os.path.exists(db_path): self.create_db() return sqlite3.connect(f».db») def _execute_query(self, query, select=False): cursor = self._conn.cursor() cursor.execute(query) if select: records = cursor.fetchone() cursor.close() return records else: self._conn.commit() cursor.close() async def insert_users(self, user_id: int, leagues: str): insert_query = f»»»INSERT INTO users (id, leagues) VALUES (, «»)»»» self._execute_query(insert_query) logging.info(f»Leagues for user added») async def select_users(self, user_id: int): select_query = f»»»SELECT leagues from leagues where record = self._execute_query(select_query, select=True) return record async def update_users(self, user_id: int, leagues: str): update_query = f»»»Update leagues set leagues = «» where self._execute_query(update_query) logging.info(f»Leagues for user updated») async def delete_users(self, user_id: int): delete_query = f»»»DELETE FROM users WHERE self._execute_query(delete_query) logging.info(f»User deleted»)

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

Файл базы данных будет создаваться один раз, автоматически. Теперь нужно создать экземпляры классов:

Источник: pythonru.com

Ищем ботов в Телеграм правильно

Для веселья или для практической пользы, «роботы» бывают полезны. Одни из них грубо отвечают вам и рассказывают смешные истории, другие – помогают привести в порядок текст, написанный в неправильной раскладке. Но наткнуться на них бывает не так-то просто. Поэтому я расскажу вам о том, как найти бота в Телеграме и где.

Где искать Телеграм-ботов?

Как найти бота в Телеграме по названию?

Чтобы искать по названию, каких-то сторонних инструментов не нужно – достаточно поисковой строки. Но если у вас есть только фрагмент имени, явно придется воспользоваться инструментом, о котором мы писали выше. Отчасти забавно, что на скриншоте ниже будет представлен и поиск через сам мессенджер: вводим название или часть его и смотрим предложенные варианты.

Еще по теме:  Как в Телеграмме пишут незнакомые люди

бот для поиска ботов в telegram

Почему не удается наткнуться на нужного бота?

Заключение

Читайте далее:

50 полезных каналов и 3 бота: берем от Телеграма максимум

Поиск канала в Телеграм на интересующую тему

Полезные Телеграм-боты на русском языке

Способы поиска видео в Телеграме

Ищем нужный канал на Youtube

Источник: smmx.ru

Телеграм-боты для пробива и поиска информации

Телеграм-боты для пробива и поиска информации

Телеграм-боты для пробива и поиска информации

Не­дав­ние разоб­лачитель­ные пуб­ликации извес­тно­го оппо­зици­оне­ра Алек­сея Наваль­ного вско­лых­нули вол­ну небыва­лого инте­реса общес­твен­ности к тенево­му биз­несу, свя­зан­ному с услу­гами про­бива. То, что поч­ти любые дан­ные у нас про­дают­ся и покупа­ются, — не сек­рет, но, говорят, кое‑что мож­но разуз­нать и Wow­се бес­плат­но у ботов в «Телег­раме». Сегодня я расскажу про лучшие Telegram-боты для пробива и поиска информации.

Боль­шинс­тво ботов Telegram, выпол­няющих по зап­росу поль­зовате­ля поиск и выдачу пер­сональ­ных дан­ных, работа­ют по схе­ме OSINT, то есть опи­рают­ся на откры­тые источни­ки, для чего экс­плу­ати­руют API раз­личных служб и интернет‑ресур­сов. Дру­гие исполь­зуют сли­тые базы дан­ных, но такие сер­висы, во‑пер­вых, не всег­да фун­кци­они­руют ста­биль­но, а во‑вто­рых, испы­тыва­ют проб­лемы с акту­али­заци­ей информа­ции: любая утек­шая в паб­лик база со вре­менем уста­рева­ет и, разуме­ется, не обновля­ется.

Не­закон­ный сбор пер­сональ­ной информа­ции — это наруше­ние закона «О пер­сональ­ных дан­ных» и дру­гих законов РФ. Так­же подоб­ные дей­ствия могут обра­зовать сос­тав прес­тупле­ния по статье 137 УК РФ «Наруше­ние неп­рикос­новен­ности час­тной жиз­ни». Ни автор, ни редак­ция не несут ответс­твен­ности за любые пос­ледс­твия исполь­зования при­веден­ных в этой пуб­ликации све­дений, которые пред­став­лены здесь исклю­читель­но ради информи­рова­ния читате­ля.

Монети­зиру­ются подоб­ные боты либо за счет донатов, либо за счет рек­ламы, или же адми­ны огра­ничи­вают количес­тво бес­плат­ных зап­росов, пос­ле чего бот начина­ет про­сить денег за каж­дую сле­дующую выдачу. Иног­да — если адми­ны ну очень жад­ные — исполь­зуют­ся все методы сра­зу.

Лю­ди ищут пер­сональ­ную информа­цию по раз­ным при­чинам. Кто‑то пыта­ется таким обра­зом отыс­кать сво­их от­равите­лей дол­жни­ков или сим­патич­ную сосед­ку по подъ­езду с боль­шими и кра­сивы­ми си… ними гла­зами. Кто‑то разыс­кива­ет пря­мые кон­такты бло­геров или вла­дель­цев паб­ликов либо пыта­ется из чис­того любопытс­тва пос­мотреть пос­ты в зак­рытых про­филях соц­сетей сво­ей быв­шей.

Еще мож­но по номеру машины отыс­кать мобиль­ный телефон под­резав­шего вас на дороге водят­ла, поз­вонить ему, наз­вать по име­ни‑отчес­тву и веж­ливо поп­росить объ­ясне­ний. Некото­рые «гон­щики» в такие момен­ты почему‑то нем­ного сму­щают­ся. В общем, при­чины могут быть раз­ными, а средс­тво одно: условно‑бес­плат­ные Telegram-боты или услу­ги про­бива, до сих пор широко рек­ламиру­емые в дар­кне­те.

Telegram-боты для пробива и поиска информации

Оче­вид­но, что не все боты оди­нако­во полез­ны. Некото­рые про­сят денег, но в ответ либо не находят акту­аль­ную информа­цию, либо отда­ют откро­вен­ную туф­ту. Дру­гие вро­де бы работа­ют, но нас­толь­ко стран­но, что дос­товер­ность пред­лага­емых ботом дан­ных оста­ется сом­нитель­ной. Что­бы вы не тра­тили дра­гоцен­ное вре­мя и день­ги на поиск жем­чужин в куче орга­ничес­ких удоб­рений, ваш любимый сайт spy-soft.net про­тес­тировал наибо­лее популяр­ные боты Telegram для пробива и пря­мо сей­час поделит­ся с вами получен­ными резуль­татами. Пог­нали!

Get Contact

Тот самый леген­дарный бот, сыг­равший немало­важ­ную роль в нашумев­шем рас­сле­дова­нии. Бот показы­вает, как имен­но записан номер мобиль­ного телефо­на в адресной кни­ге дру­гих або­нен­тов. Информа­цию железя­ка чер­пает с мобиль­ных устрой­ств або­нен­тов, уста­новив­ших при­ложе­ние Get Contact, поэто­му, если на телефо­нах ваших дру­зей эта прог­рамма не уста­нов­лена, никаких дан­ных вы не получите. В день бот поз­воля­ет отпра­вить не боль­ше трех телефон­ных номеров.

Не знаю, с чем имен­но свя­зано это досад­ное явле­ние — с наруше­нием в логике сер­виса или с вне­зап­ным нап­лывом кли­ентов, но поль­зовать­ся сей­час Telegram-ботом Get Contact — бес­полез­ная тра­та вре­мени.

«Глаз Бога»

Еще один популяр­ный бот, упо­минав­ший­ся в ряде недав­них жур­налист­ских пуб­ликаций. Бот обла­дает доволь­но‑таки обширным набором фун­кций: поиск по име­ни в прос­том тек­сто­вом фор­мате, по номеру авто­моби­ля, по номеру телефо­на, по адре­су элек­трон­ной поч­ты, по наз­ванию юри­дичес­кого лица или ИНН.

Еще по теме:  Как найти Телеграмм канал по штрих коду

Телеграм-боты для пробива и поиска информацииТелеграм-боты для пробива и поиска информацииТелеграм-боты для пробива и поиска информации Телеграм-боты для пробива и поиска информации

Тест показал, что номер мобиль­ника по гос­номеру авто Quick_OSINT_bot находит неп­равиль­но, по телефон­ному номеру выда­ет в основном реги­он опе­рато­ра и имя, под которым або­нент записан в телефон­ных кни­гах, а так­же имя, которым он под­писыва­ется на дос­ках бес­плат­ных объ­явле­ний.

Весь­ма поз­наватель­ные резуль­таты получа­ются при поис­ке по адре­су email: бот воз­вра­щает учет­ки с таким адре­сом в раз­личных соц­сетях, ник­ней­мы, номер мобиль­ного, имя и фамилию (не всег­да кор­рек­тно), а так­же свя­зан­ные с этим мылом пароли из сли­тых баз.

Бот поз­воля­ет выпол­нить нес­коль­ко бес­плат­ных зап­росов в сут­ки, пос­ле чего начина­ет клян­чить денег: 0,1 дол­лара за каж­дый отчет или пред­лага­ет офор­мить под­писку.

Himera

Бот, по слу­хам, под­клю­чен к сис­теме про­вер­ки кон­тра­ген­тов Unirate24, и он плат­ный. Самый дешевый тариф с огра­ниче­нием на количес­тво поис­ковых зап­росов сто­ит 1199 руб­лей. Бот поз­воля­ет искать информа­цию по ФИО, номеру телефо­на, номеру авто­моби­ля, адре­су элек­трон­ной поч­ты, а так­же дан­ным юри­дичес­кого лица. Най­ти он может све­дения о про­пис­ке граж­данина, записи о наруше­нии им закона, дан­ные о родс­твен­никах.

По слу­хам, этот Telegram-бот неп­лохо справ­ляет­ся с поис­ком по Мос­кве и области, а вот с реги­она­ми могут воз­никнуть проб­лемы: там находит­ся не все и не всег­да. Зна­читель­ная часть инфы по юрли­цам есть в сво­бод­ном дос­тупе. Но в целом бот может быть полезен для про­вер­ки кон­тра­ген­тов, потен­циаль­ных деловых пар­тне­ров или, ска­жем, при най­ме мут­ного кан­дидата на работу в золотох­ранили­ще вашего лич­ного бан­ка.

TeleSINT

Бес­плат­ный бот, поз­воля­ющий най­ти по нику, в каких груп­пах в «Телеге» сос­тоит тот или иной поль­зователь. Теоре­тичес­ки эта информа­ция может рас­ска­зать вам что‑то о мо­раль­ном обли­ке инте­ресах и увле­чени­ях инте­ресу­юще­го вас пер­сонажа.

Зна­читель­ный недос­таток это­го бота зак­люча­ется в том, что он показы­вает учас­тие юзе­ра толь­ко в откры­тых пуб­личных груп­пах, а вот зак­рытые паб­лики (то есть самое инте­рес­ное!) оста­ются вне его поля зре­ния.

«Архангел»

Бот, активно рек­ламиро­вав­ший­ся в сен­тябре 2020 года на хакер­ских форумах. По слу­хам, он под­клю­чен к информа­цион­но‑ана­лити­чес­кой сис­теме Solaris, исполь­зуемой про­бив­щиками‑про­фес­сиона­лами. База поз­воля­ет искать дан­ные по ФИО, серии и номеру пас­порта, фамилии и году рож­дения, по ИНН, СНИЛС, по адре­су, номеру телефо­на или авто­моби­ля.

Сто­имость одно­го зап­роса «Арханге­лу» до недав­них пор сос­тавля­ла 250 руб­лей, но пос­ле извес­тных событий бот отклю­чили, и сей­час он выда­ет сооб­щение о «вре­мен­ных тех­ничес­ких работах». Оста­ется наде­ять­ся, что проб­лемы там дей­стви­тель­но вре­мен­ные.

GetFB

Бот работа­ет очень прос­то: по вве­ден­ному номеру мобиль­ного телефо­на в меж­дународ­ном фор­мате (+7XXXAAABBCC) GetFB находит зарегис­три­рован­ную на этот телефон стра­нич­ку в Facebook. Денег за свою работу бот не про­сит и работа­ет отменно.

Mailsearchbot

Бот ищет по сли­тым базам пароли, соот­ветс­тву­ющие адре­сам элек­трон­ной поч­ты, логинам или номеру телефо­на. Бес­плат­но бот показы­вает толь­ко часть обна­ружен­ных паролей, а за пол­ной вер­сией отправ­ляет на сто­рон­ний сайт, где посети­телю с ходу пред­лага­ют опла­тить под­писку.

Мои экспе­римен­ты показа­ли, что боты для поис­ка пер­сональ­ных дан­ных в целом могут быть полез­ны, но с неболь­шими ого­вор­ками:

  • боль­шинс­тво из них — плат­ные, и качес­тво поис­ка информа­ции там все рав­но сред­нее, выдачу при­дет­ся верифи­циро­вать и переби­рать вруч­ную;
  • есть пара бес­плат­ных вари­антов с огра­ниче­нием на количес­тво зап­росов, но в выдаче при­сутс­тву­ет высокий про­цент шла­ка.

Да­же нес­мотря на то, что боль­шинс­тво ботов исполь­зует одни и те же источни­ки информа­ции, для уточ­нения дан­ных луч­ше при­менять сра­зу нес­коль­ко инс­тру­мен­тов — это повысит релеван­тность поис­ка и качес­тво резуль­татов. Тем не менее для серь­езно­го рас­сле­дова­ния без услуг про­фес­сиональ­ных про­бивал все рав­но не обой­тись: они име­ют дос­туп к акту­аль­ным слу­жеб­ным базам раз­личных государс­твен­ных и ком­мерчес­ких орга­низа­ций, вер­нее, связь с сот­рудни­ками, которые, в свою оче­редь, могут обра­щать­ся к этим базам.

Бо­ты могут под­ска­зать нап­равле­ние поис­ка и рас­ширить набор исходных дан­ных, но в качес­тве пол­ноцен­ного инс­тру­мен­та для пробива пер­сональ­ных дан­ных они вряд ли сго­дят­ся.

Источник: cpamax.ru

Рейтинг
( Пока оценок нет )
Загрузка ...