A logging and statistics bot for Telegram based on python-telegram-bot.
Навигация
Ссылки проекта
Статистика
Метаданные
Лицензия: GNU General Public License v3 or later (GPLv3+) (GPL-3.0-or-later)
Требует: Python >=3.8,
Сопровождающие
Классификаторы
- License
- OSI Approved :: GNU General Public License v3 or later (GPLv3+)
- Python :: 3
- Python :: 3.8
- Python :: 3.9
- Python :: 3.10
Описание проекта
telegram-stats-bot
Telegram-stats-bot is a simple bot that lives in your Telegram group, logging messages to a Postgresql database and serving statistical tables and plots to users as Telegram messages.
Table of contents
Introduction
This software is intended to be run on a server, handling updates for a bot user with a single bot per channel (multi-channel support could be added at some point if there is interest), using the excellent Python-telegram-bot library.
Каналы Телеграм (часть 2) — виды каналов, боты, форматирование постов, статистика
The bot is still in active development but at the moment, it features:
- Message logging to Postgresql database with optional JSON file backup
- Statistics output for users in group as Telegram messages, with optional filtering by date or limiting to the querying user. Some statistics are more useful than others, but they are mainly intended to be fun for users to play with.
- Tables:
- Most active users
- A user’s message time correlation with other users
- A user’s median message time difference with other users
- Message activity by hour of day
- Message activity by day of week
- Message activity over the week by hour and day
- Message activity history
Basic Requirements
- Python 3.8+
- A Telegram bot token with privacy mode disabled (needed to log messages)
- See here for details
- This can be on a different system than telegram-stats-bot and requires either table creation permissions on a database or database can be pre-initialized following the setup in db.py
Installation
The easiest way to install or upgrade is with pip:
$ pip install telegram-stats-bot —upgrade
This works directly from the git repository as well:
$ pip install —upgrade git+https://github.com/mkdryden/telegram-stats-bot
Or you can install an entire venv for development using poetry:
$ git clone https://github.com/mkdryden/telegram-stats-bot.git telegram-stats-bot poetry install
Docker
A Docker image is available under mkdryden/telegram-stats-bot and a sample docker-compose.yml is in the root of the repository including database setup. Be sure to set the TZ , BOT_TOKEN , and CHAT_ID environment variable appropriately in your docker-run command or the docker-compose.yml file.
Setup
Once installed, you can run the bot by calling the main module with a few required arguments:
Где смотреть статистику бота? | BotHelp
$ python -m telegram_stats_bot.main BOT_TOKEN CHAT_ID POSTGRESQL_URL
Two optional arguments exist as well:
- json-path : Specifying a path here will log messages to json files in addition to the database. If only a prefix is specified, they will be saved under that prefix in your platform’s preferred app data directory. This was mostly for development purposes and is not necessary in normal use.
- tz : Specify a tz database time zone string here (e.g., America/New_York ) to return statistics queries in this time zone. (Defaults to Etc./UTC )
A complete command might look like:
$ python -m telegram_stats_bot.main —tz On startup, the bot will attempt to create the database and tables, if they do not already exist. If you do not know the chat’s id and have set it to 0 as mentioned above, you can send the /chatid command inside the group, and the bot will reply with it, then restart the bot with the id. If you have forgotten to disable privacy mode, an error will be logged in the terminal.
The bot will now log all messages in the group, but will only respond to users who have sent a message that has been logged previously (and this list is only updated once an hour, so if you’re impatient, you can restart the bot after you’ve sent a message to trigger the update). You can see if messages are being logged correctly by reviewing the terminal output. You should see a line like 2020-06-04 02:08:39,212 — __main__ — INFO — 8 , whenever a message is logged.
Importing Data
Data can be imported from JSON dumps from the desktop client. Hit the three dot button from inside the desired group and select “Export chat history”. Make sure you select JSON as the output format. You can also limit the date, as desired. The database will be updated and existing messages will remain, so you can use this feature to fill in gaps when the bot was not running.
To import data, simply call:
$ python -m telegram_stats_bot.json_dump_parser —tzWhere the first argument is the path to the json dump, the second is the db connection string, as above, and the optional tz argument should be the time zone of the system used to dump the json.
This can be run without stopping a running bot, though it also attempts to set the user id to user name mapping, so will add an extra entry to every user in the dump (this currently only affects the user stats related to user name changes). Before you run this, make sure your db string is correct or you might accidentally mess up other databases on the same server.
Fetching Stats
To fetch stats, simply message the bot, either inside the group being logged, or in a direct message, using the /stats command. /stats with no arguments prints the table of most active users and other statistics are available through various subcommands. All commands are documented and the built in help can be displayed with /stats -h or stats -h .
Most commands have optional arguments that change the behaviour of the output. Nearly all have:
- -start and -end followed by a timestamp (e.g., 2019, 2019-01, 2019-01-01, “2019-01-01 14:21”) specify the range of data to fetch, otherwise all available data will be used. Either or both options can be given.
- -lquery followed by a lexical query (using Postgres’ tsquery syntax) limits results to matching messages.
- -me calculates statistics for the user sending the command, rather than all chat users.
Sample outputs of each available subcommand follow.
counts
/stats counts returns a list of the most active users in the group.
count-dist
/stats count-dist returns an ECDF plot of the users in the group by message count.
hours
/stats hours returns a plot of message frequency for the hours of the day.
days
/stats days returns a plot of message frequency for the days of the week.
week
/stats week returns a plot of total messages over the data period by day of week and hour of day.
history
/stats history returns a plot of messages versus date.
titles
/stats titles returns a plot of group titles over time.
user
/stats user returns basic statistics for the user.
Messages sent: 16711 Average messages per day: 12.31 First message was 1357.22 days ago. Usernames on record: 3 Average username lifetime: 452.41 days joined on 2017-10-01 16:11:08-04:00
corr
/stats corr returns a list of users with the highest and lowest message time correlations with the requesting user.
delta
/stats delta returns a list of users with the shortest differences in message times with the requesting user.
types
/stats types returns a table of messages by type, comparing the requesting user with the full group.
words
/stats words returns a table of the most commonly used lexemes
Most frequently used lexemes: Lexeme Messages Uses like 1265 1334 well 753 765 actual 628 645 make 600 619 yeah 609 609 mean 544 553 thing 473 490 realli 472 482 though 467 470 peopl 415 445 think 425 433 know 403 409 need 396 408 time 371 389 want 354 371 would 345 366 much 345 357 probabl 348 356 even 331 338 stuff 318 332
random
/stats random prints a random message from the database.
The Future
Telegram-stats-bot is a work in progress. New stats will be added, but no guarantees that the database structure will stay constant if Telegram’s message structure changes or I need to change something to make a new statistic work.
License
Telegram-stats-bot is free software: You can redistribute it and/or modify it under the terms of the GNU General Public License v3.0 or later. Derivative works must also be redistributed under the GPL v3 or later.
Источник: pypi.org
Какую информацию получают боты в Телеграм
В данной статье мы рассмотрим, какую информацию собирают боты в мессенджере Телеграм. Боты — это алгоритмы, которые могут взаимодействовать с пользователями через чаты и каналы. Они могут выполнять самые разные функции — от предоставления новостей до выполнения определенных команд.
- Доступная информация для ботов
- Просмотр информации владельцем бота
- Разрешения и доступы создателя бота
- Информация для владельцев Телеграм каналов
- Доступные данные для владельца Телеграм канала
- Выводы
- Полезные советы
- Выводы
Доступная информация для ботов
После нажатия кнопки «Start» любой бот в Телеграме имеет доступ к определенной информации, которую пользователь предоставляет при регистрации в приложении. Эксперты утверждают, что боты могут получить следующую информацию о пользователе:
- ID пользователя — уникальный идентификатор пользователя, который позволяет боту опознать каждого отдельного пользователя.
- Имя и фамилия — имя и фамилия пользователя, указанные при регистрации.
- Никнейм — публичное имя пользователя, которое может использоваться для общения с ботами и другими пользователями.
- Раздел «о себе» — краткое описание пользователя, которое может содержать дополнительную информацию о нем.
- Язык, установленный в приложении — информация о предпочтительном языке пользователя, используемом в интерфейсе.
Просмотр информации владельцем бота
Владелец бота имеет возможность просматривать информацию о пользователях, которые взаимодействуют с его ботом. Он может увидеть аккаунты пользователей в Телеграме и то, что они пишут в чате с ботом.
Разрешения и доступы создателя бота
Помимо основной информации, создатель бота имеет еще больше возможностей просмотра данных пользователей. Кроме того, что было перечислено ранее, он также может видеть:
- Дату сообщений — дата и время отправки сообщений пользователя боту.
- Само сообщение — текст или медиафайл, отправленный пользователем.
- ID пользователя — уникальный идентификатор пользователя, который позволяет создателю бота определить каждого отдельного пользователя.
- Имя аккаунта и имя пользователя — дополнительная информация о пользователе, которая может быть полезна для идентификации.
- Язык пользователя — предпочтительный язык пользователя, который может использоваться для более персонализированного взаимодействия.
- Номер телефона (если предоставлен) — информация о номере телефона пользователя, если он решил ее предоставить.
При этом, удаление истории переписки с ботом не означает удаление сообщений у создателя бота, если у него включено логирование.
Информация для владельцев Телеграм каналов
Владельцы каналов в Телеграме, имеющих более 50 подписчиков, имеют возможность просматривать подробную статистику и графики, отражающие рост аудитории и эффективность публикаций. Таким образом, они могут анализировать, какие посты получают больше просмотров и взаимодействий со стороны пользователей.
Доступные данные для владельца Телеграм канала
Владелец канала в Телеграме имеет доступ к следующей информации:
- Статистика подписчиков — владелец канала может отслеживать количество подписчиков и их изменения во времени.
- Просмотры и взаимодействия с контентом — владелец канала может видеть, сколько раз его контент был просмотрен и как пользователи взаимодействовали с ним.
- Графики активности пользователей — владелец канала может наблюдать, когда пользователи наиболее активны и как часто они посещают канал.
- Рост аудитории — владелец канала может видеть, как изменяется количество подписчиков со временем.
Выводы
Таким образом, боты в Телеграме имеют доступ к определенной информации о пользователях, которую они предоставляют при регистрации в приложении. Владельцы ботов и каналов могут использовать эту информацию для анализа и оптимизации своих действий. Пользователи должны быть внимательны и осознавать, что некоторая информация может быть доступна владельцам ботов и каналов, и быть осторожными при взаимодействии с ними.
Полезные советы
- Будьте внимательны при предоставлении своей личной информации ботам и каналам в Телеграме.
- Проверяйте рейтинг и отзывы перед использованием нового бота.
- Удаляйте переписку с ботом, если не хотите, чтобы она была доступна создателю бота.
- Отключите логирование, если не хотите, чтобы создатель бота видел ваши сообщения.
Выводы
Боты в Телеграме имеют доступ к определенной информации о пользователях, включая их идентификаторы, имена, никнеймы и языковые настройки. Владельцы ботов и каналов могут использовать эту информацию для анализа и оптимизации своих действий. Пользователи должны быть внимательны и осознавать, что некоторая информация может быть доступна владельцам, поэтому рекомендуется быть осторожными во время взаимодействия с ботами и каналами в Телеграме.
Как называется бот который пишет сочинения
Дактиль — это бот, который поможет вам улучшить ваши знания о русской поэзии. Он создан с целью помочь вам изучать и понимать историю русской поэзии, а также улучшить вашу способность анализировать и интерпретировать стихотворения. Благодаря Дактилю вы сможете изучить различные стихотворные формы, от классических до современных, и ознакомиться с наиболее известными русскими поэтами и их произведениями.
Антиплагиат-бот от Text.ru — это инструмент, который поможет вам проверить уникальность вашего текста. Когда вы пишете сочинение или другой текст, важно убедиться, что он не содержит копированных фрагментов или работы других авторов. Антиплагиат-бот сканирует ваш текст и сравнивает его с огромной базой данных, чтобы определить процент уникальности. Это очень полезно, чтобы убедиться, что ваш текст является оригинальным и не нарушает авторские права других людей.
Таким образом, Дактиль и Антиплагиат-бот от Text.ru — два полезных инструмента, которые помогут вам в улучшении ваших знаний русской поэзии и создании оригинальных текстов.
Как скопировать текст с картинки в телеграмме
Согласно сообщению PR-специалиста мессенджера Телеграм, Георгия Лобушкина, теперь пользователи больше не будут испытывать стресс при получении изображения с текстом, таким как фото кредитной карты или скриншот. Для копирования текста с картинки достаточно открыть изображение и сделать длительное нажатие на текст, после чего его можно будет скопировать. Таким образом, трудности, связанные с ручным набором текста с изображения, будут устранены. Это значительно упростит и ускорит процесс получения информации из фотографий в Телеграме.
Как сделать свой Стикерпак в телеграмме
Далее, повторяем шаги 5 и 6 для каждого стикера в паке. 8. Когда все стикеры загружены, отправляем команду /publish для публикации пака. 9. Выбираем категорию для стикерпака и вписываем его описание. 10. Процесс публикации может занять некоторое время.
11. После успешной публикации бот пришлет ссылку на ваш Стикерпак. 12. Вы можете поделиться этой ссылкой с другими пользователями или добавить стикеры в свои чаты. 13. Чтобы обновить или удалить стикерпак, воспользуйтесь командами /editpack и /deletepack соответственно. 14.
Теперь у вас есть свой собственный Стикерпак в телеграмме! Он может стать отличным способом выразить свои эмоции и украсить вашу переписку. 15. Не забудьте следовать правилам и рекомендациям телеграмма при создании стикерпаков. Удачи в творчестве!
Как видео ютуб преобразовать в текст
Для преобразования видео с YouTube в текстовый формат необходимо выполнить несколько простых шагов. Во-первых, загрузите нужное видео на платформу YouTube. После этого откройте панель управления субтитрами, нажав на соответствующую вкладку с надписью ‘Субтитры’. Затем выберите опцию ‘Авто-Субтитры’, чтобы запустить автоматическое создание субтитров для вашего видео.
Далее нажмите кнопку ‘ПУСК’, и процесс преобразования начнется. После завершения этого процесса вы получите текстовый транскрипт вашего видео. Это позволяет создать полезные субтитры к видео, которые могут быть использованы для перевода, чтения или улучшения доступности контента. Важно отметить, что автоматически созданные субтитры могут содержать ошибки, поэтому рекомендуется их просмотреть и внести в них правки при необходимости.
Также боту доступны фотографии и видеозаписи, отправленные пользователем, а также его контактные данные, включая номер телефона. Однако, для получения этих данных, пользователь должен дать соответствующее разрешение. Кроме того, боты могут получать информацию о местоположении пользователя, если он разрешил доступ к этой функции.
В дополнение к личным данным, телеграм-боты могут иметь доступ к содержимому диалогов и групповых чатов, в которых участвует пользователь. Это позволяет ботам получать информацию о предпочтениях и интересах пользователей, а также улучшать свою работу и предлагать персонализированный контент. Однако, по словам разработчиков Телеграм, все данные пользователей хранятся в зашифрованном виде и не передаются третьим лицам без явного согласия пользователя. Кроме того, пользователи могут в любой момент отозвать разрешения доступа к своим данным.
Источник: kruzhochki.ru
Боты атакуют. Тестируем телеграм-боты для поиска персональных данных
Недавние разоблачительные публикации известного оппозиционера Алексея Навального всколыхнули волну небывалого интереса общественности к теневому бизнесу, связанному с услугами пробива. То, что почти любые данные у нас продаются и покупаются, — не секрет, но, говорят, кое‑что можно разузнать и Wowсе бесплатно у ботов в «Телеграме». Так ли это и о каких ботах речь, мы сейчас выясним.
warning
Незаконный сбор персональной информации — это нарушение закона «О персональных данных» и других законов РФ. Также подобные действия могут образовать состав преступления по статье 137 УК РФ «Нарушение неприкосновенности частной жизни». Ни автор, ни редакция не несут ответственности за любые последствия использования приведенных в этой публикации сведений, которые представлены здесь исключительно ради информирования читателя.
Большинство ботов Telegram, выполняющих по запросу пользователя поиск и выдачу персональных данных, работают по схеме OSINT, то есть опираются на открытые источники, для чего эксплуатируют API различных служб и интернет‑ресурсов. Другие используют слитые базы данных, но такие сервисы, во‑первых, не всегда функционируют стабильно, а во‑вторых, испытывают проблемы с актуализацией информации: любая утекшая в паблик база со временем устаревает и, разумеется, не обновляется. Монетизируются подобные боты либо за счет донатов, либо за счет рекламы, или же админы ограничивают количество бесплатных запросов, после чего бот начинает просить денег за каждую следующую выдачу. Иногда — если админы ну очень жадные — используются все методы сразу.
Люди ищут персональную информацию по разным причинам. Кто‑то пытается таким образом отыскать своих отравителей должников или симпатичную соседку по подъезду с большими и красивыми си… ними глазами. Кто‑то разыскивает прямые контакты блогеров или владельцев пабликов либо пытается из чистого любопытства посмотреть посты в закрытых профилях соцсетей своей бывшей.
Еще можно по номеру машины отыскать мобильный телефон подрезавшего тебя на дороге водятла, позвонить ему, назвать по имени‑отчеству и вежливо попросить объяснений. Некоторые «гонщики» в такие моменты почему‑то немного смущаются. В общем, причины могут быть разными, а средство одно: условно‑бесплатные Telegram-боты или услуги пробива, до сих пор широко рекламируемые в даркнете.
info
Очевидно, что не все боты одинаково полезны. Некоторые просят денег, но в ответ либо не находят актуальную информацию, либо отдают откровенную туфту. Другие вроде бы работают, но настолько странно, что достоверность предлагаемых ботом данных остается сомнительной. Чтобы ты не тратил драгоценное время и деньги на поиск жемчужин в куче органических удобрений, твой любимый журнал протестировал наиболее популярные боты в Telegram и прямо сейчас поделится с тобой полученными результатами. Погнали!
Get Contact
Тот самый легендарный бот, сыгравший немаловажную роль в нашумевшем расследовании. Бот показывает, как именно записан номер мобильного телефона в адресной книге других абонентов. Информацию железяка черпает с мобильных устройств абонентов, установивших приложение Get Contact, поэтому, если на телефонах твоих друзей эта программа не установлена, никаких данных ты не получишь. В день бот позволяет отправить не больше трех телефонных номеров.
Не знаю, с чем именно связано это досадное явление — с нарушением в логике сервиса или с внезапным наплывом клиентов, но пользоваться сейчас Telegram-ботом Get Contact — бесполезная трата времени.
«Глаз Бога»
Еще один популярный бот, упоминавшийся в ряде недавних журналистских публикаций. Бот обладает довольно‑таки обширным набором функций: поиск по имени в простом текстовом формате, по номеру автомобиля, по номеру телефона, по адресу электронной почты, по названию юридического лица или ИНН.
Для отправки команд бот требует подписаться на собственный канал, но даже это не гарантирует результата. По телефону «Глаз Бога» выдает название оператора и его регион (видимо, для тех, кто не умеет определять эти данные на глаз), возможное имя (я ввел несколько телефонных номеров — имена совпали).
Еще он может найти почтовые адреса (вероятнее всего, по базе администраторов доменов), страницу «ВКонтакте», аккаунт «Телеграм», WhatsApp, число интересовавшихся персонажем до тебя. Но эту информацию бот предоставит за 30 рублей. То же самое касается поиска по номеру автомобиля: бесплатно бот показывает только регион (который можно определить и так), а за тридцатку предлагает скачать отчет «Автокода». При этом данные об автомобиле по его номеру при желании нетрудно отыскать в этих ваших интернетах бесплатно.
В общем и целом польза от этого бота показалась мне весьма сомнительной: инфу, которую «Глаз Бога» отдает бесплатно, можно при желании нагуглить и без него, а платная информация скудна и не всегда достоверна.
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Источник: xakep.ru