Структура проекта
После того, как вы создали нового бота командой $ bot new <name>
, в директории, в которой была вызвана эта команда, появится папка с именем бота
├── LICENSE
├── README.md
├── config.toml
└── src
└── __init__.py
LICENSE
¶
Обычный текстовый файл с MIT лицензией. И вы, как полноценный правообладатель своего бота, можете вписать туда свое имя
Tip
Правообладателя можно указать сразу при создании бота (через new
) флагом -o
, тобишь $ bot new mybot -o "Pavel Durov"
README.md
¶
Классика любого проекта. Добавляйте сюда информацию о своем боте, причем как по использованию, так и для контрибьютерства (разработки). Однако, для второго можно создать отдельный файл CONTRIBUTING.md
src/
¶
Здесь содержится абсолютно весь код. Файлы распределяются по именам и расположению (или должны распределяться) следующим образом (т.е. по стилю)
Тип | Способ |
---|---|
Команда (reaction) | Папка с именем команды (создается через $ bot com ) |
Сигнал (signal) | Файл с именем сигнала (создается через $ bot signal ) |
Валидатор или аннотационный тип | Файл с именем валидатора/аннотипа |
Свои файлы | Файл, начинающийся с нижнего подчеркивания |
Todo
Скорее всего структура src
поменяется на более строгую, где будет конкретное разделение содержимого. Но все зависит от того, насколько будет сложно поддерживать проект по нынешнему стилю. Возможно, это излишки
Todo
Для кастомных валидаторов и аннотационных типов будут свои команды в bot
. Достаточно удобные и с возможностью моментального применения на какой-либо команде
config.toml
¶
В нем располагаются абсолютно все настройки вашего бота, начиная токеном, заканчивая фильтром дебага
Поле | Тип содержимого | Значение |
---|---|---|
token | str | Access token, чей владелец имеет требуемые права работы с API, либо же токен самого сообщества. Можно указать сразу через флаг -t в $ bot new |
group_id | int | ID группы, от лица которого будет работать бот. Можно сразу указать это поле при создании бота через флаг -gi |
version | float/str | Версия используемого API. Должна быть выше 5.103 |
owner | group /user |
Тип владельца токена — группа или пользователь (определяет задержку между запросами) |
URL | str | URL для API запросов. По умолчанию https://api.vk.com/method/ |
Поле | Тип содержимого | Значение |
---|---|---|
wait | int | Время максимального ожидания между ответами LongPoll сервера (в секундах) |
Tip
Узнать ID группы можно здесь
Tip
Подробнее о TOML файлах
Todo
В будущем планируется добавить возможность выбора формата конфига.