Skip to content

tima03/SuperAdminBot

Repository files navigation

Студент компьютерных наук, блогер и стример из России 🇷🇺

SuperAdminBot

Первоклассный open-source Telegram бот для управления чатами, созданный с использованием API Telethon и Aiogram.

SuperAdminBot предоставляет возможность:

  • Блокировать пользователей (Ban)
  • Мьютить пользователей (Mute)
  • Использовать: идентификатор пользователя (User Id), имя пользователя (UserName), информацию о банах и мьютах (is_banned, is_muted) в режиме реального времени
  • Сохранять автоматически всю информацию в базу данных PostgreSQL, обеспечивая удобное и надежное управление данными

Установка и настройка

Необходимая версия python = 3.10.6

Для установки зависимостей выполните:

pip install -r requirements.txt

Создайте файл с именем .env и настройте все необходимые API (если не запускается, удалите все комментарии #):

PG_LINK=postgresql://username:password*@host:port/database #PostgreSQL link to your Database
API_ID=0000000000 #Telegram apps API_ID that you can get at https://my.telegram.org/auth?to=apps
API_HASH='39432jksdsdskjd333mnmn300' #Telegram apps API_HASH that you can get at https://my.telegram.org/auth?to=apps
API_TOKEN='000000000:ANsdnsdnNSDNdnnsdnsndSNDn' #Your bot token that you can get at @BotFather
CHAT_NAME='trapfestchat' #Just your chat name where your bot will used to. For my one it is @trapfestchat

Основные функции и импорты:

Вот фрагмент кода из main.py, показывающий основные функции и импорты бота:

Основные импорты:

from telethon import TelegramClient, events import logging from decouple import config from db_handler.db_class import PostgresHandler from aiogram import Bot, Dispatcher from aiogram.types import ChatMemberRestricted, ChatMemberBanned

Инициализация хендлера для базы данных по ссылке из .env:

pg_db = PostgresHandler(config('PG_LINK'))

Инициализация клиента Telegram apps api (Telethon) и бота telegram api (aiogram):

client = TelegramClient('bot', api_id, api_hash) bot = Bot(token=bot_token) dp = Dispatcher(bot)

Пример использования Telethon для получения информации о пользователях:

@client.on(events.NewMessage(pattern='/start')) async def start(event): await event.respond('Привет! Я SuperAdminBot. Как я могу помочь вам сегодня?') raise events.StopPropagation

Обработка действий в чате:

@client.on(events.ChatAction(chats='your_chat')) async def handle_chat_action(event): if event.user_joined or event.user_left: users = await client.get_participants('your_chat') for user in users: if user.username is None: user.username = str(user.id) permissions = await client.get_permissions(event.chat_id, user.id) member = await bot.get_chat_member(event.chat_id, user.id) is_admin = permissions.is_admin is_muted = isinstance(member, ChatMemberRestricted) is_banned = isinstance(member, ChatMemberBanned)

Поддержка

GitHub stars GitHub forks

Свяжитесь со мной

Telegram VK Instagram

About

A good open-source telegram bot for chats made with telephone and aiogram api

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages