Просмотр полной версии : Бот для телеграмма Moderator
MrApostolAngels
07.11.2025, 23:49
Бот Moderator с управлением чата, участников.
Выдача рангов администрации взято под основу как у Iris
Установка бота
moder.py откройте в блокноте замените токен на свой!
Где взять токен?
Перейдите в бота @BotFather, создайте бота в нем и скопируйте ваш токен.
Запуск бота!
Распакуйте архив в любое для вас удобное место, установите последнию версию Python
Установите зависимости для бота в командной строке
pip install python-telegram-bot
пароль от архива: 123123
Бот Moderator с управлением чата, участников.
Выдача рангов администрации взято под основу как у Iris
Установка бота
moder.py откройте в блокноте замените токен на свой!
Где взять токен?
Перейдите в бота @BotFather, создайте бота в нем и скопируйте ваш токен.
Запуск бота!
Распакуйте архив в любое для вас удобное место, установите последнию версию Python
Установите зависимости для бота в командной строке
pip install python-telegram-bot
пароль от архива: 123123
https://forum.antichat.xyz/attachments/28645215/img_785f24afb1.png
MrApostolAngels
08.11.2025, 15:02
?
Если ты про то что там канал то пиши @useryoufi1
?
Если ты про то что там канал то пиши @useryoufi1
я про то что ты не указал :)
MrApostolAngels
08.11.2025, 15:25
я про то что ты не указал :)
А зачем мне указывать это мой телеграм
А зачем мне указывать это мой телеграм
ladno
vindarix
08.11.2025, 15:43
Отличный пример говнокода. Всё сделано через одно место.
Во-первых, вся логика и обработка команд свалены в один гигантский файл. Вместо нормального разделения на handlers.py, database.py, utils.py — там просто огромная плеяда десятков функций подряд, например:
Python:
async
def
show_admins
(
update
,
context
)
:
async
def
promote_user
(
update
,
context
)
:
async
def
demote_user
(
update
,
context
)
:
Каждая из этих функций делает почти одно и то же, но код повторяется слово в слово.
Во-вторых, вместо СУБД используется JSON:
Python:
DATA_FILE
=
'admin_system_data.json'
def
load_data
(
)
:
with
open
(
DATA_FILE
,
'r'
)
as
f
:
return
json
.
load
(
f
)
и потом в десятках мест:
Python:
data
=
load_data
(
)
d
ata
[
'admins'
]
.
append
(
user_id
)
save_data
(
data
)
При параллельных записях файл запросто повредится. Надо юзать SQLite или PostgreSQL.
Третье — асинхронность нарушена: код объявлен как async, но внутри есть блокирующие операции:
Python:
with
open
(
DATA_FILE
,
'w'
)
as
f
:
json
.
dump
(
data
,
f
)
Получаем блокировку event loop'а и торможение бота при любой записи.
К этому добавляем глобал переменные и хардкод по всему коду:
Python:
RANKS
=
[
'Helper'
,
'Moderator'
,
'Admin'
,
'Owner'
]
TOKEN
=
'123456:ABC-DEF'
такое нельзя держать в коде, нужно выносить в переменные окружения.
Отдельно отмечу, что python-telegram-bot — не лучший выбор для такого бота. Он громоздкий, неудобен для масштабных ботов и плохо справляется с асинхронностью. Тут лучше юзать aiogram.
В итоге имеем:
1. Монолитный код без адекватной структуры
2. JSON вместо СУБД
3. Дублирование функций
4. Блокирующие вызовы в async-коде
5. Хардкод токенов и рангов
Проще будет реально переписать с нуля: сделать отдельный модуль для БД, разбить проект на файлы и настроить нормальные хендлеры.
P.s. пишу с телефона, поэтому мне лень расставлять табы в блоках с кодом
MrApostolAngels
10.11.2025, 11:36
Отличный пример говнокода. Всё сделано через одно место.
Во-первых, вся логика и обработка команд свалены в один гигантский файл. Вместо нормального разделения на handlers.py, database.py, utils.py — там просто огромная плеяда десятков функций подряд, например:
Python:
async
def
show_admins
(
update
,
context
)
:
async
def
promote_user
(
update
,
context
)
:
async
def
demote_user
(
update
,
context
)
:
Каждая из этих функций делает почти одно и то же, но код повторяется слово в слово.
Во-вторых, вместо СУБД используется JSON:
Python:
DATA_FILE
=
'admin_system_data.json'
def
load_data
(
)
:
with
open
(
DATA_FILE
,
'r'
)
as
f
:
return
json
.
load
(
f
)
и потом в десятках мест:
Python:
data
=
load_data
(
)
d
ata
[
'admins'
]
.
append
(
user_id
)
save_data
(
data
)
При параллельных записях файл запросто повредится. Надо юзать SQLite или PostgreSQL.
Третье — асинхронность нарушена: код объявлен как async, но внутри есть блокирующие операции:
Python:
with
open
(
DATA_FILE
,
'w'
)
as
f
:
json
.
dump
(
data
,
f
)
Получаем блокировку event loop'а и торможение бота при любой записи.
К этому добавляем глобал переменные и хардкод по всему коду:
Python:
RANKS
=
[
'Helper'
,
'Moderator'
,
'Admin'
,
'Owner'
]
TOKEN
=
'123456:ABC-DEF'
такое нельзя держать в коде, нужно выносить в переменные окружения.
Отдельно отмечу, что python-telegram-bot — не лучший выбор для такого бота. Он громоздкий, неудобен для масштабных ботов и плохо справляется с асинхронностью. Тут лучше юзать aiogram.
В итоге имеем:
1. Монолитный код без адекватной структуры
2. JSON вместо СУБД
3. Дублирование функций
4. Блокирующие вызовы в async-коде
5. Хардкод токенов и рангов
Проще будет реально переписать с нуля: сделать отдельный модуль для БД, разбить проект на файлы и настроить нормальные хендлеры.
P.s. пишу с телефона, поэтому мне лень расставлять табы в блоках с кодом
Спасибо за предоставленную информацию! Учту следующий раз.
MEMER_FAUD
25.12.2025, 00:03
Бот Moderator с управлением чата, участников.
Выдача рангов администрации взято под основу как у Iris
Установка бота
moder.py откройте в блокноте замените токен на свой!
Где взять токен?
Перейдите в бота @BotFather, создайте бота в нем и скопируйте ваш токен.
Запуск бота!
Распакуйте архив в любое для вас удобное место, установите последнию версию Python
Установите зависимости для бота в командной строке
pip install python-telegram-bot
пароль от архива: 123123
А зачем токен бота выставлять в открытый доступ?
MrApostolAngels
25.12.2025, 11:02
А зачем токен бота выставлять в открытый доступ?
Это для примера
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot