/
BorisPlus
/
Telegram-Bot-Discussion-Examples
Обзор
Документация
Войти
/
BorisPlus
/
Telegram-Bot-Discussion-Examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
examples/change_button_bot/main/main.py
105 строк
3 KB
b
2025_10_13_initial
13 окт 2025, 00:05
13 окт 2025, 00:05
0fc4405
Код
Авторство
О чём код?
from configparser import ConfigParser from optparse import OptionParser from telegram_bot_discussion.button import ButtonsMap from telegram_bot_discussion.ext.coder import BSV_Coder from telegram_bot_discussion.ext.logger import LogLevel, Printer import os import sys EXAMPLES_DIRECTORY_PATH = os.path.dirname( os.path.dirname(os.path.dirname(os.path.abspath(__file__))) ) sys.path.insert(0, EXAMPLES_DIRECTORY_PATH) from change_button_bot.internal.bot import ChangeButtonBot from change_button_bot.internal.config.config import ChangeButtonBotConfig from change_button_bot.internal.buttons.delete_button import DeleteButton from change_button_bot.internal.buttons.camera import ( CameraIsOff, CameraIsOn, ) from change_button_bot.internal.buttons.lock import ( LockIsClosed, LockIsOpened, ) from change_button_bot.internal.buttons.notify import ( NotifyIsOff, NotifyIsOn, ) from change_button_bot.internal.buttons.record import ( RecordIsOff, RecordIsOn, ) from change_button_bot.internal.buttons.speaker import ( SpeakerIsOff, SpeakerIsOn, ) from change_button_bot.internal.buttons.delete_button import DeleteButton from change_button_bot.internal.buttons.irreversible import Irreversible from change_button_bot.internal.handlers import ( ChangeButtonBotButtonsHandler, ChangeButtonBotReplicasHandler, ) def main(): usage = "usage: %prog -c/--config config.ini" parser = OptionParser(usage=usage) parser.add_option( "-c", "--config", default="config.ini", help="Config ini-file", metavar="FILE", ) (options, _) = parser.parse_args() config_parser = ConfigParser() config_parser.read(options.config) config = ChangeButtonBotConfig( token=config_parser.get("bot", "token"), secret=config_parser.get("bot", "secret"), ) ChangeButtonBot( logger=Printer( name="button_bot", level=LogLevel.DEBUG, ), config=config, ).set_replicas_handler( ChangeButtonBotReplicasHandler(), ).set_buttons_handler( ChangeButtonBotButtonsHandler( coder=BSV_Coder(config.secret), buttons_map=ButtonsMap( CameraIsOff, CameraIsOn, Irreversible, LockIsClosed, LockIsOpened, NotifyIsOff, NotifyIsOn, RecordIsOff, RecordIsOn, SpeakerIsOff, SpeakerIsOn, DeleteButton, ), ) ).start() # cd examples # python3 ./change_button_bot/main/main.py -c ./change_button_bot/main/config.ini if __name__ == "__main__": main()