Разместить объявление
Rukassa - надёжная платёжная система для сайтов и телеграм ботов
хостинг
хостинг
VIPAdmin / PREMIUM / cod / Простейший автоответчик сообщений в Telegram

Простейший автоответчик сообщений в 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

Купить PREMIUM-доступ и получите доступ ко многим файлам на сайте, включая этот

Автор: cod

Дата: 07.09.2024 15:00

Просмотров: 79

Оцените статью:

0 0

Партнерки

Обзор RollerAds: умная пуш-сеть с инновационными инструментами
Обзор RollerAds: умная пуш-сеть с инновационными инструментами
-1
Перейти
Huffson Group: премиальная CPA-сеть для iGaming
Huffson Group: премиальная CPA-сеть для iGaming
-1
Перейти

Еще немного интересного

Сервисы / Парсинг A-PARSER - парсер сайтов № 1
Сервисы / Сервера и хостинги Хостинг PrivateAlps (Игнорирует DMCA)
Сервисы / Платёжные системы Merchant001- надежный эквайринг для сайта
Статьи Дорвеи 2023-2024
Арбитраж трафика / Статьи Арбитраж трафика на пуш уведомлениях
Статьи / Софт / Антидетект Браузеры Лучшие антидетект браузеры
Сервисы / Трекеры / Клоака Keitaro PRO - трекер для арбитража трафика
Хостинг / Скрипты сайтов / Статьи Как настроить работу почты
Хостинг / Скрипты сайтов / Статьи Урок доступ mysql с любого ip
Хостинг / Скрипты сайтов / Статьи Как сделать моментальную установку сервера? HOSTINPL
Хостинг / Статьи Exim (Восстановление по e-mail)
Скрипты сайтов / Статьи JavaScript - Меняем CSS

Отзывы (0)




To connect permitted only files with the extension: .tpl or .php To connect permitted only files with the extension: .tpl or .php