Примеры использования бота ========================== Введение -------- Как уже было сказано ранее, настройка и запуск бота происходят путем редактирования файла **src/main/main.py** и объявления строковых глобальных переменных в файле **src/main/bot/open_keys.py** (подробнее_). .. _подробнее: index.html Давайте разберемся, как работает бот внутри. Инициализация переменных, даже если они *не будут использоваться* (например, как *VK_LOGIN* и *VK_PASSWORD* при авторизации через токен сообщества), необходима для исключения возникновния ошибок в процессе проверки на тип авторизации, поэтому можно присвоить *ненужным* переменным значения пустых строк, но инициализировать для корректной работы бота их **обязательно**. Что можно сделать перед запуском бота? -------------------------------------- В примерах было показано добавление админа в список админов для отображения специального интерфейса клавиатур продавцов. .. code-block:: python # импортирование класса бота from src.main.bot.adrenaline_bot import Adrenaline_bot # испортирование класса админа для создания нового админа from src.main.user.admin import Admin # инициализация бота bot = Adrenaline_bot() # добавление нового админа # id админа автоматически будет добавлениен в ADMINS_LIST bot.add_new_admin( Admin( # user_id - id пользователя вк '448223022', # room_number - номер комнаты # (куда отправят покупателя за энергетиками) '607', # cberbank_card_number - номер карты сбербанк для оплаты '4321 7654 0123 4188', # tinkoff_card_number - номер карты тинькофф для оплаты '4321 9876 4052 4188', # telephone_number - номер телефона # (для перевода к привязанной карте) '+78005553535', # menu_mode - положение в меню # (необязательно для заполнения) 'main' ) ) # запуск бота bot.start_bot() Если у вас строковой адрес страницы, то цифровой (оригинальный) id страницы вк можно узнать тут_. .. _тут: https://regvk.com/id/ Поле *menu_mode* может принимать следующие значения для **админов**: * *start* - начальное состояние перед запуском бота, ожидается сообщение "Начать" * *main* - главная клавиатура взаимодействия * *delivery* - ввод количества энерегетиков на завозе * *new_deal* - ввод количества проданных энергетиков * *need_help* - клавиатура состояния, когда клиенту нужна помощь (оставлен заказ, а никого нет в сети) Поле *menu_mode* может принимать следующие значения для **клиентов**: * *start* - начальное состояние перед запуском бота, ожидается сообщение "Начать" * *main* - главная клавиатура взаимодействия * *cart* - выбор количества энергетиков для заказа * *big_order* - аналогично прошлому, но ввод вручную * *payment_method* - выбор способа оплаты * *admin_delay* - ожидание помощи админа (оставлен заказ, а никого нет в сети) * *payment_check* - подтверждение оплаты * *order_done* - можно забирать заказ Важно, что последующие запуски бота должны осуществляться по классическому шаблону, так как предусмотрено логирование и сохранение всех действий! .. code-block:: python # импортирование класса бота from src.main.bot.adrenaline_bot import Adrenaline_bot # инициализация бота # (автоматические загружаются настройки последнего запуска) bot = Adrenaline_bot() # запуск бота bot.start_bot()