SEO SMM Арбитраж трафика Инструменты Программирование Веб-разработка Графика Софт Cоц. сети Скрипты сайтов Боты
хостинг
Vibix - надеждый видео-балансир

Telegram Expert

Купить резедентные прокси

Простейший автоответчик сообщений в Telegram



Сегодняшнюю тему я поставил замечательной библиотеке https://docs.pyrogram.org/7, поскольку с этой штукой можно делать реально годные проги для Telegram.
Одна из таких программ является Автоответчик, который будет отправлять сообщение человеку если тот написал ему (хочу добавить, что стоит фильтр сообщений из-за чего сообщения из групп считаться не будут)

Код https://main.py:
from pyrogram import Client, filters
from pyrogram.handlers.message_handler import MessageHandler
from pyrogram.types import Message
import logging
from data import check_user
import sys
api_id = 25131136
api_hash = "cbb345642927ec700650518160e75b56"
client = Client(name="account_data", api_id=api_id, api_hash=api_hash)
logging.basicConfig(level=logging.INFO, filename="app.log", filemode="w", encoding="utf-8", format="%(filename)s[%(funcName)s]: %(message)s")
stream_handler = logging.StreamHandler(stream=sys.stdout)
stream_handler.setLevel(logging.INFO)
formatter = logging.Formatter("%(filename)s[%(funcName)s]: %(message)s")
stream_handler.setFormatter(formatter)
logger = logging.getLogger("AutoResponse")
logger.addHandler(stream_handler)
def auto_response(client: Client, message: Message):
 if check_user(message.from_user.id):
 user = f"@{message.from_user.username}" if message.from_user.username else message.from_user.first_name
 logger.info(f"Приветственное сообщение отправлено в чат с {user} ({message.from_user.id})")
 message.reply(f"Привет! @{message.from_user.username}")
 else:
 user = f"@{message.from_user.username}" if message.from_user.username else message.from_user.first_name
 logger.warn(f"Пользователь {user} ({message.from_user.id}) уже есть в истории чата...")
client.add_handler(MessageHandler(auto_response, filters.private & ~filters.me))
if __name__ == "__main__":
 client.run()


Разберемся что и как, думаю с импортами ни у кого проблем возникнуть не должно, НО есть какая то функция check_user, которая непонятно откуда вылезла. Так вот, предварительно я хотел сделать весь код в один файл, но подумал что так будет неудобно да и в целом когда все на своих местах всем спокойнее. Разберем файл https://data.py:
import json
# Читаем файл
def read_data(file):
 try:
 with open(file, 'r', encoding='utf-8') as file:
 users_data = json.load(file)
 except (FileNotFoundError, json.decoder.JSONDecodeError):
 users_data = {}
 return users_data
# Записываем все изменения
def write_data(db, file):
 with open(file, 'w', encoding='utf-8') as file:
 json.dump(db, file, indent=4, ensure_ascii=False)
# Проверка пользователя на наличие его ID в базе данных
def check_user(user_id):
 db = read_data("users.json")
 if str(user_id) not in db:
 db = str(user_id)
 write_data(db, "users.json")
 return True
 else:
 return


Думаю с этим все предельно понятно. Если есть какие либо вопросы можете писать их в комментариях под темой :finger_up:
Если вам лень что либо разбирать, загрузил файл на https://github.com/xllebbSQ/AutoResponseScript
289
Рейтинг:

Простейший автоответчик сообщений в Telegram

7-09-2024, 15:00 .zip

Скачать

Простейший автоответчик сообщений в Telegram

Сохранить или отправить

Оставить комментарий

Партнёрские программы

Смотреть все
1WIN ПАРТНЕРКА

1WIN ПАРТНЕРКА

1 403
  • 40
Партнерские программы / Гемблинг партнерки
Обзор Partners House для монетизации сайтов и лендингов + отзывы вебмастеров

Обзор Partners House для монетизации сайтов и лендингов + отзывы вебмастеров

795
  • 0
Арбитраж трафика / Партнерские программы / PUSH партнерки
Смотреть все

Магазин

Смотреть все
Купить
Бот для продажи VPN 3X-UI для Telegram

Бот для продажи VPN 3X-UI для Telegram

Telegram-бот для продажи VPN! Автоматизированный бот для продажи вашего...

Купить
Мониторинг хайп проектов на движке DLE

Мониторинг хайп проектов на движке DLE

В данном скрипте есть возможность включить функцию чтобы пользователи сами...

Купить
Скрипт казино с 5 классическими играми.

Скрипт казино с 5 классическими играми.

Разработчики онлайн-казино, хотим поделиться отличной новостью: в январе мы...

Купить
Customer WishList / Избранные товары покупателей

Customer WishList / Избранные товары покупателей

Данный модуль позволяет просматривать избранные товары пользователей. Есть...

Купить
Меняем заголовок и favicon

Меняем заголовок и favicon

Меняет favicon и title, при переходе пользователя на другую вкладку в браузере....

Смотреть все

Сервисы

Смотреть все
Смотреть все