PyAudio 0.2.11+ (required only if you need to use microphone input, Microphone)
register_next_step_handler принимает 2 аргумента, функцию и объектНу типо да, но и нет, если глянуть глубже, то можно увидеть, что он принимает две функции, первая это "объект, так сказать",но в нем лежит функция которую надо выполнить, к примеру спросить как тебя зовут, после чего бот ждет ответ, ты отвечаешь"Сергей", и он выполняет функцию из второго аргумента, а аргументом в эту функцию передает твой ответ. Но он передает не просто "Сергей", он передает сообщение полностью, в виде словаря. И естественно в нем есть вся инфа...Но проще запринтовать, чтоб понять, что именно приходит. Поэксперементируй, а по поводу того как это работает, ну почитай в коде, все что надо боту он сохраняет во временный файл. А для адаптации с вк, придется попотеть. Первое, что приходит в голову, унаследовать бота и расширить функционал, для этого подробнее изучи ООП в питоне...оооочень подробнее