Утилиты¶
Вспомогательные функции для повседневных задач при разработке бота.
Модуль vk_bot.util¶
split_text¶
Разбивает длинный текст на части, не превышающие лимит VK (4096 символов). Разбиение происходит по строкам и словам - слова не разрываются.
from vk_bot import util
parts = util.split_text(very_long_text)
for part in parts:
bot.send_message(chat_id, part)
# С кастомным лимитом
parts = util.split_text(text, max_length=2000)
create_link¶
Создаёт ссылку в формате VK: [url|текст].
from vk_bot import util
link = util.create_link("Наш сайт", "https://example.com")
# "[https://example.com|Наш сайт]"
bot.send_message(chat_id, f"Посетите {link}")
format_time¶
Форматирует Unix-timestamp в читаемую строку ДД.ММ.ГГГГ ЧЧ:ММ.
from vk_bot import util
readable = util.format_time(1709042400)
# "27.02.2024 12:00"
Модуль vk_bot.handlers¶
extract_command¶
Извлекает команду и аргументы из текста сообщения.
from vk_bot.handlers import extract_command
cmd, args = extract_command("/start привет мир")
# cmd = "start", args = "привет мир"
cmd, args = extract_command("/help")
# cmd = "help", args = None
cmd, args = extract_command("обычный текст")
# cmd = None, args = None
extract_mentions¶
Извлекает ID упомянутых пользователей из текста.
Поддерживает форматы [id123|Имя] и @id123.
from vk_bot.handlers import extract_mentions
ids = extract_mentions("Привет [id123|Иван] и @id456!")
# ids = [123, 456]
ids = extract_mentions("Без упоминаний")
# ids = []
is_group_event¶
Проверяет, является ли тип события групповым.
from vk_bot.handlers import is_group_event
is_group_event("group_join") # True
is_group_event("group_leave") # True
is_group_event("message_new") # False