Примеры использования бота

Введение

Как уже было сказано ранее, настройка и запуск бота происходят путем редактирования файла 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()