Примеры использования бота¶
Введение¶
Как уже было сказано ранее, настройка и запуск бота происходят путем редактирования файла src/main/main.py и объявления строковых глобальных переменных в файле src/main/bot/open_keys.py (подробнее).
Давайте разберемся, как работает бот внутри.
Инициализация переменных, даже если они не будут использоваться (например, как VK_LOGIN и VK_PASSWORD при авторизации через токен сообщества), необходима для исключения возникновния ошибок в процессе проверки на тип авторизации, поэтому можно присвоить ненужным переменным значения пустых строк, но инициализировать для корректной работы бота их обязательно.
Что можно сделать перед запуском бота?¶
В примерах было показано добавление админа в список админов для отображения специального интерфейса клавиатур продавцов.
# импортирование класса бота
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 страницы вк можно узнать тут.
Поле menu_mode может принимать следующие значения для админов:
start - начальное состояние перед запуском бота, ожидается сообщение «Начать»
main - главная клавиатура взаимодействия
delivery - ввод количества энерегетиков на завозе
new_deal - ввод количества проданных энергетиков
need_help - клавиатура состояния, когда клиенту нужна помощь (оставлен заказ, а никого нет в сети)
Поле menu_mode может принимать следующие значения для клиентов:
start - начальное состояние перед запуском бота, ожидается сообщение «Начать»
main - главная клавиатура взаимодействия
cart - выбор количества энергетиков для заказа
big_order - аналогично прошлому, но ввод вручную
payment_method - выбор способа оплаты
admin_delay - ожидание помощи админа (оставлен заказ, а никого нет в сети)
payment_check - подтверждение оплаты
order_done - можно забирать заказ
Важно, что последующие запуски бота должны осуществляться по классическому шаблону, так как предусмотрено логирование и сохранение всех действий!
# импортирование класса бота
from src.main.bot.adrenaline_bot import Adrenaline_bot
# инициализация бота
# (автоматические загружаются настройки последнего запуска)
bot = Adrenaline_bot()
# запуск бота
bot.start_bot()