Idle Highlighting Themes
2. Дописать секцию [Theme] в конец файла config-main.cfg так:
[Theme]
default = 0
name = TERMINAL THEME
Ctrl+C (закончить ввод и выйти)
* name может быть любым из config-highlight.cfg
* в конце файла необходима пустая строка
В результате должно получиться:
[EditorWindow]
font = dejavu sans mono
font-size = 9
[General]
autosave = 1
[Theme]
default = 0
name = TERMINAL THEME
Стандартная тема светлая, поэтому я добавил себе темные:
1. Собственная (просто темная тема), копирующая цветовую схему Терминала .
2. Найденная, копирующая оформление интерфейса Codeacademy .

3. Тема под названием Obsidian .

4. Тема под названием Tango .

3. Создаем файл config-highlight.cfg , затем записываем в него темы:
$ >config-highlight.cfg
$ cat >config-highlight.cfg
[TERMINAL THEME]
break-background = #131926
break-foreground = #B3B3B3
builtin-background = #131926
builtin-foreground = #B3B3B3
comment-background = #131926
comment-foreground = #B3B3B3
console-background = #131926
console-foreground = #B3B3B3
cursor-foreground = #0F4999
definition-background = #131926
definition-foreground = #B3B3B3
error-background = #131926
error-foreground = #B3B3B3
hilite-background = #163B59
hilite-foreground = #B3B3B3
hit-background = #131926
hit-foreground = #B3B3B3
keyword-background = #131926
keyword-foreground = #B3B3B3
normal-background = #131926
normal-foreground = #B3B3B3
stderr-background = #131926
stderr-foreground = #B3B3B3
stdout-background = #131926
stdout-foreground = #B3B3B3
string-background = #131926
string-foreground = #B3B3B3
[CODECADEMY UI]
break-background = #FFFF55
break-foreground = BLACK
builtin-background = #223133
builtin-foreground = #73AFCC
comment-background = #223133
comment-foreground = #9D9D9D
console-background = #223133
console-foreground = #FFFFFF
cursor-foreground = #FFFFFF
definition-background = #223133
definition-foreground = #FFFFFF
error-background = #223133
error-foreground = #FF3C3C
hilite-background = #C6D7D9
hilite-foreground = #494949
hit-background = #333333
hit-foreground = #FFFFFF
keyword-background = #223133
keyword-foreground = #9B7BB0
normal-background = #223133
normal-foreground = #EBEBEB
stderr-background = #223133
stderr-foreground = #FF3E40
stdout-background = #223133
stdout-foreground = #EEEEEE
string-background = #223133
string-foreground = #CCC959
[OBSIDIAN]
break-background = #293134
break-foreground = #E0E2E4
builtin-background = #293134
builtin-foreground = #E0E2E4
comment-background = #293134
comment-foreground = #66747B
console-background = #293134
console-foreground = #E0E2E4
cursor-foreground = #E0E2E4
definition-background = #293134
definition-foreground = #678CB1
error-background = #293134
error-foreground = #FF0000
hilite-background = #2F393C
hilite-foreground = #E0E2E4
hit-background = #000000
hit-foreground = #E0E2E4
keyword-background = #293134
keyword-foreground = #93C763
normal-background = #293134
normal-foreground = #E0E2E4
stderr-background = #293134
stderr-foreground = #FB0000
stdout-background = #293134
stdout-foreground = #678CB1
string-background = #293134
string-foreground = #EC7600
[TANGO]
break-background = #2E3436
break-foreground = #000000
builtin-background = #2E3436
builtin-foreground = #AD7FA8
comment-background = #2E3436
comment-foreground = #73D216
console-background = #2E3436
console-foreground = #87CEEB
cursor-foreground = #FFFFFF
definition-background = #2E3436
definition-foreground = #FCE94F
error-background = #2E3436
error-foreground = #FA8072
hilite-background = #EDD400
hilite-foreground = #2E3436
hit-background = #2E3436
hit-foreground = #FFFFFF
keyword-background = #2E3436
keyword-foreground = #8CC4FF
normal-background = #2E3436
normal-foreground = #FFFFFF
stderr-background = #2E3436
stderr-foreground = #FF3E40
stdout-background = #2E3436
stdout-foreground = #EEEEEC
string-background = #2E3436
string-foreground = #E9B96E
[desert]
definition-foreground = #98fb98
error-foreground = #ff0000
string-background = #333333
keyword-foreground = #cc6600
normal-foreground = #f0e68c
comment-background = #333333
hit-foreground = #ffffff
break-foreground = black
builtin-background = #333333
stdout-foreground = #eeeeee
cursor-foreground = #ffcc00
hit-background = #333333
comment-foreground = #87ceeb
hilite-background = gray
definition-background = #333333
stderr-background = #333333
break-background = #ffff55
console-foreground = #87ceeb
normal-background = #333333
builtin-foreground = #519e51
stdout-background = #333333
console-background = #333333
stderr-foreground = #ff3e40
keyword-background = #333333
string-foreground = #ffa0a0
hilite-foreground = #000000
error-background = #000000
[Matrix]
definition-foreground = #0000ff
error-foreground = #000000
string-background = #000000
keyword-foreground = #ff7700
normal-foreground = #00ff00
comment-background = #000000
hit-foreground = #ffffff
builtin-background = #000000
hilite-foreground = #000000
stdout-foreground = blue
cursor-foreground = #ff0000
break-background = #ffff55
comment-foreground = #dd0000
hilite-background = gray
definition-background = #000000
stderr-background = #ffffff
hit-background = #000000
console-foreground = #770000
normal-background = #000000
builtin-foreground = #900090
stdout-background = #000000
console-background = #ffffff
stderr-foreground = red
keyword-background = #000000
string-foreground = #00aa00
break-foreground = black
error-background = #ff7777
[monokai]
normal-foreground= #F8F8F2
normal-background= #272822
keyword-foreground= #F92672
keyword-background= #272822
builtin-foreground= #66D9EF
builtin-background= #272822
comment-foreground= #75715E
comment-background= #272822
string-foreground= #FD971F
string-background= #272822
definition-foreground= #A6E22E
definition-background= #272822
hilite-foreground= #F8F8F2
hilite-background= gray
break-foreground= black
break-background= #ffff55
hit-foreground= #F8F8F2
hit-background= #171812
error-foreground= #ff3338
error-background= #272822
cursor-foreground= #F8F8F2
stdout-foreground= #DDDDDD
stdout-background= #272822
stderr-foreground= #ff3338
stderr-background= #272822
console-foreground= #75715E
console-background= #272822
[UbuntuLike]
definition-foreground = #86deff
error-foreground = #ff1c1c
normal-foreground = #ffffff
keyword-foreground = #ff7800
hilite-foreground = #000000
comment-background = #2c001e
hit-foreground = #ffffff
builtin-background = #2c001e
stdout-foreground = #efefef
string-background = #2c001e
break-background = #ffff55
comment-foreground = #997678
hilite-background = gray
definition-background = #2c001e
stderr-background = #2c001e
hit-background = #000000
console-foreground = #2cbbff
normal-background = #2c001e
builtin-foreground = #ff3bd2
stdout-background = #2c001e
console-background = #2c001e
stderr-foreground = #ffff00
keyword-background = #2c001e
string-foreground = #00e05b
break-foreground = black
error-background = #201e21
cursor-foreground = #fffff5
Ctrl+D (закончить ввод и выйти)
Строгую тему терминала от него самого не отличишь. Мне нравится.

Я меняю шрифт на DejaVu Sans Mono (Book), 9pt.

В Xubuntu стандартные цвета были такие (мало ли):

Шаблон для создания собственной темы:
[THEME TEMPLATE]
BREAK-BACKGROUND =
BREAK-FOREGROUND =
BUILTIN-BACKGROUND =
BUILTIN-FOREGROUND =
COMMENT-BACKGROUND =
COMMENT-FOREGROUND =
CONSOLE-BACKGROUND =
CONSOLE-FOREGROUND =
CURSOR-FOREGROUND = # курсор не имеет фона
DEFINITION-BACKGROUND =
DEFINITION-FOREGROUND =
ERROR-BACKGROUND =
ERROR-FOREGROUND =
HILITE-BACKGROUND = # цвета при выделении
HILITE-FOREGROUND = # цвета при выделении
HIT-BACKGROUND =
HIT-FOREGROUND =
KEYWORD-BACKGROUND =
KEYWORD-FOREGROUND =
NORMAL-BACKGROUND =
NORMAL-FOREGROUND =
STDERR-BACKGROUND =
STDERR-FOREGROUND =
STDOUT-BACKGROUND =
STDOUT-FOREGROUND =
STRING-BACKGROUND =
STRING-FOREGROUND =
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| [Obsidian] |
| definition-foreground = # 678CB1 |
| error-foreground = # FF0000 |
| string-background = # 293134 |
| keyword-foreground = # 93C763 |
| normal-foreground = # E0E2E4 |
| comment-background = # 293134 |
| hit-foreground = # E0E2E4 |
| builtin-background = # 293134 |
| stdout-foreground = # 678CB1 |
| cursor-foreground = # E0E2E4 |
| break-background = # 293134 |
| comment-foreground = # 66747B |
| hilite-background = # 2F393C |
| hilite-foreground = # E0E2E4 |
| definition-background = # 293134 |
| stderr-background = # 293134 |
| hit-background = # 000000 |
| console-foreground = # E0E2E4 |
| normal-background = # 293134 |
| builtin-foreground = # E0E2E4 |
| stdout-background = # 293134 |
| console-background = # 293134 |
| stderr-foreground = # FB0000 |
| keyword-background = # 293134 |
| string-foreground = # EC7600 |
| break-foreground = # E0E2E4 |
| error-background = # 293134 |
Варианты исполнения команд. Переходим в PyCharm
Здравствуйте, дорогие друзья! Мы продолжаем курс по Python. На этом занятии вы узнаете о двух вариантах исполнения команд: интерактивном и файловом, а также затронем функцию print() для отображения данных в консоли Питона.
Я, надеюсь, вы все успешно установили интерпретатор языка на свое устройство и смогли повторить команды из прошлого занятия в среде IDLE. Так вот, это, как раз интерактивный режим их выполнения, когда каждая конструкция языка отрабатывает сразу же после нажатия на кнопку Enter.
Преимущество такого подхода – мгновенное получение требуемого результата. Это бывает полезно при отладке программы, чтобы, например, быстренько посмотреть значения текущих данных и сделать для себя некоторые выводы.
Недостаток интерактивного режима – потеря ранее записанных команд. Например, если перезапустить IDLE, то все ранее написанное пропадает, не сохраняется. Поэтому писать полноценные программы в таком режиме не получится.
Для этого следует использовать другой, файловый режим исполнения команд. В оболочке IDLE это делается так. Выбираем меню File, затем, New File и у нас появляется второе окно. Здесь можно написать сразу несколько команд:
Сохранить их в файл и, затем, выполнить программу (F5). Результат должен отображаться в командном окне IDLE. Но мы ничего не видим. Почему? Дело в том, при файловом режиме команды выполняются строчка за строчкой, то есть, последовательно, сверху-вниз, но результаты автоматически не отображаются, как это происходит в интерактивном режиме. Можно подумать, что это плохо. Возможно, мы хотели увидеть результат действия наших арифметических операций? Однако, это разумное поведение интерпретатора. Часто целью программ является не вывод всех промежуточных результатов, а только требуемого конечного значения. Но как его вывести? Для этого в языке Python существует специальная функция print(). Если все наши арифметические операции записать в виде:
print(2+3) print(8/3) print(5*6)
то в консоли увидим три строчки, три вывода. В интерактивном режиме, кстати, она работает абсолютно также – выводит некоторое сообщение в консоль. На данный момент, просто запомните, то, что находится внутри круглых скобок функции print(), та информация и выводится. Причем, эту функцию можно записать и с пустыми скобками:
print()
Тогда просто отобразится пустая строка. Также можно просто указать число:
print(5) print(5.6)
print("hello")
Пока это просто демонстрация возможностей функции print(). Подробнее мы о ней еще поговорим. А до тех пор будем использовать в таком простом виде.
Форматирование текста программ
Давайте вернемся к нашей программе. Как я уже говорил, конструкции выполняются последовательно сверху вниз. Причем, все они должны иметь единый нулевой начальный отступ от левого края. Если добавить перед print() хотя бы один пробел, то возникнет ошибка форматирования текста программы. Питон очень требователен к формату записи текста программы. И первое, что здесь нужно запомнить, — все начальные конструкции языка должны записываться без отступов слева и каждый print следует начинать с новой строчки. Это правила руководства PEP 8 по рекомендациям оформления текста программы на Python:
Как видите, это достаточно объемный документ. Я буду стараться придерживаться его указаний и делать оформление программ в соответствии с ним, чтобы вы также приучались к правильному стилю оформления.
На данный момент достаточно запомнить, что все начальные конструкции языка записываются без отступов слева и каждая с новой строки. Конечно, для ясности и лучшей читаемости текста, можно добавлять пустые строки, например, так:
print(2+3) print(8/3) print(5*6)
- программа исполняется последовательно сверху-вниз;
- текст программы следует оформлять в соответствии с PEP 8;
- начальные отступы слева у команд должны отсутствовать, а каждая команда записана с новой строки.
Интегрированная среда PyCharm
В заключение этого занятия я хочу познакомить вас с интегрированной средой программирования PyCharm, разработанной специальной для написания программ на Python. Она намного удобнее IDLE, с которой вы уже немного знакомы, поэтому все дальнейшие действия я буду выполнять в PyCharm. Я рекомендую вам также ее установить, хотя это не обязательное действие, так как все программы курса можно будет выполнять и в IDLE. Но, как говорится: лучше один день потерять, чтобы потом за пять минут долететь. Поэтому, лучше затратить немного времени на установку PyCharm, чтобы потом стало проще и приятнее писать программы на Python. Вначале нам нужно перейти на официальный сайт программы: https://www.jetbrains.com/pycharm/ и скачать бесплатную версию «Community». Для решения большинства задач ее будет вполне достаточно. Затем, скачиваем приложение для установки PyCharm. Запускаем его, нажимаем «Next», выбираем каталог размещения программы, отмечаем, что хотим создать ярлык на рабочем столе и привязать расширение py к данной среде, нажимаем «Next» и, затем, «Install». После установки программа предложит запустить PyCharm. Запускаем. Появляется окно для импортирования настроек из предыдущей версии (если она была). Я этот шаг пропущу «Do not import settings». В следующем окне мы выбираем тему оформления. Я выберу темную. Вы можете выбрать другую – это дело вкуса. Далее, нажимаем на кнопку «Skip Remaining and Set Defaults» пропустить все напоминания и сделать дальнейшие установки по умолчанию. Здесь при первом запуске необходимо создать новый проект. Нажимаем «Create New Project». В поле «Location» указывается расположение проекта и его имя. Пусть проект называется «stepik». Раскрываем вкладку «Project interpreter» интерпретатор проекта, здесь укажем существующий интерпретатор. Если его в списке нет, то нажмите вот на это троеточие и в новом окне выберите «System Interpreter». В этом списке отображаются все интерпретаторы, установленные на компьютере. Но я оставлю тот, что был найден по умолчанию. Нажимаем кнопку «Create» и создаем проект. Перед нами откроется окно PyCharm. Слева отображается структура проекта. Пока он не содержит ни одного файла с текстом программы. Создадим его. Нажимаем правую кнопку мыши, выбираем «New» -> «Python File». Вводим имя файла, например, ex1 и этот файл автоматически добавляется в наш проект. Здесь мы будем писать тексты программ, например, так:
print("Hello World!")
- при первом запуске: Ctrl+Shift+F10
- при повторных запусках: Shift+F10
Как сделать темную тему idle python

Очевидные преимущества языка привлекают внимание множества талантливых разработчиков. В результате экосистема Python постоянно пополняется новыми фреймворками, библиотеками и модулями, с помощью которых можно реализовать практически любой проект – от сложного веб-приложения до нейронной сети. Чаще всего Python применяют для разработки бэкенда (серверной части веб-приложений), в искусственном интеллекте, для анализа и визуализации больших данных, в автоматизации бизнес-процессов.
Помимо длинного списка преимуществ, Пайтон известен несколькими недостатками. Главные из них:
- Низкая (по сравнению с C++ и Java) производительность. По этой причине на Python не пишут игры и другие приложения, для которых критична максимальная скорость исполнения. Пайтон также не подходит для решения большинства олимпиадных задач, которые предусматривают ограничения по скорости выполнения и объему используемой памяти.
- Высокое потребление системных ресурсов. Даже самая простая игра на Пайтон будет загружать процессор и оперативную память гораздо сильнее, чем аналогичное приложение на C++ или Java.
- Выделение блоков кода пробелами. В отличие от других языков, функциональные блоки в Python выделяются пробелами. Использование табуляции допускается, но не рекомендуется, поскольку при смешивании пробелов и табуляции в одной программе интерпретатор выдает ошибку. Лишний или недостающий пробел также вызовет ошибку.
- Открытый, некомпилированный код готовых приложений и скриптов. Python – интерпретируемый язык, программы на нем обычно не компилируются в .exe файлы, и пользователи могут случайно повредить код. Кроме того, для запуска некомпилированных Пайтон-программ требуется установка интерпретатора. Эту проблему можно решить упаковкой Python-приложения в exe-файл, но такой метод не является компиляцией в полном смысле этого слова.
Где скачать Питон и как установить
Чтобы писать и запускать Python-программы на своем компьютере, нужно установить интерпретатор: он будет переводить инструкции на Python в понятный компьютеру машинный код. Интерпретатор Python можно установить любым из перечисленных ниже способов.
Способ 1: Отдельная установка. Понадобится установочный файл, скачанный с официального сайта . Выберите нужную платформу – в соответствующих разделах выложены релизы Python для Windows , для macOS и для других поддерживаемых ОС . Во время установки интерпретатора будет также установлена базовая среда разработки – ее можно запустить, кликнув в меню по IDLE. Но эта среда не отличается удобством и подходит лишь для запуска небольших скриптов.

Гораздо удобнее писать и запускать программы на Python в специализированной IDE (интегрированной среде разработки) вроде PyCharm или Wing , либо в универсальном редакторе кода – например, Sublime Text , Vim или Visual Studio Code . Редактор или IDE устанавливают после установки Python.
Способ 2: Установка в составе IDE. Минималистичная IDE Thonny автоматически устанавливает Python. Это оптимальный способ для начинающих:

- не нужно устанавливать дополнительные плагины, как при использовании универсальных редакторов;
- не придется выбирать нужную версию интерпретатора, как при установке PyCharm ;
- не потребуются никакие дополнительные настройки – сразу после установки можно писать и запускать код.
Способ 3: Установка вместе с пакетом Anaconda или Miniconda. Эти пакеты, помимо интерпретатора Python, включают в себя множество модулей для научных расчетов, а в качестве IDE используют Spyder. Если вы не планируете писать программы для научных и инженерных вычислений, лучше остановить выбор на первом или втором способе.

Как установить Python на Windows
Установка Python в составе специализированной IDE вроде Thonny не вызовет затруднений – достаточно принять условия лицензионного соглашения и нажать кнопку Install. Если же вы хотите писать и запускать код в редакторе Visual Studio Code или в IDE PyCharm, сначала придется скачать и установить нужную версию интерпретатора. Установить Python на Windows очень просто:

После завершения установки папка с Python откроется автоматически.

Установка Python на Ubuntu
Практически все ОС семейства Linux поставляются с Python. Проверить версию интерпретатора на Ubuntu можно с помощью команды: python3—version . Если нужна более свежая версия Python, интерпретатор придется обновить. Откройте терминал ( CTRL + ALT + T) и выполните последовательно эти команды:

И перенесите редактор в приложения:

Если появится вопрос, доверяете ли вы авторам скриптов, находящихся в папке – ответьте утвердительно:

Теперь нужно установить расширение для работы с программами на Python. Проще всего предоставить редактору сделать это самостоятельно. Для этого создайте файл с расширением .py в папке, к которой уже предоставили доступ. VS Code автоматически обнаружит новый тип расширения и предложит установить плагин (справа внизу):

Нажмите Install для запуска установки:

Другой способ установить плагин для работы с Python-кодом – выбрать его из списка доступных расширений на маркетплейсе:

Осталось выбрать нужную версию интерпретатора Python. Нажмите на кнопку Select Python Interpreter:

Затем выберите рекомендованную (самую свежую версию) из доступных:

Второй способ подключить нужную версию интерпретатора – нажать CMD + SHIFT + P, напечатать Python, и выбрать Select Interpreter.
Настройка Visual Studio Code для работы с Python в среде Windows
Скачайте установочный файл с официального сайта. Дважды кликните по файлу для запуска мастера установки. После завершения установки VS Code автоматически запустится. Нажмите комбинацию клавиш Ctrl + Shift + X, чтобы открыть Расширения. Это также можно сделать из меню – выберите Обзор и затем Расширения:

Введите python в поле поиска, затем выберите расширение Python, подписанное Майкрософт – обычно это первый плагин в списке найденных. Нажмите на кнопку Установка:

После установки расширения кнопка изменится на значок ⚙Параметры. Как правило, VS Code автоматически распознает интерпретатор Python. Если этого не произошло, либо нужно подключить другую версию – наберите Python: Select Interpreter в строке состояния (status bar) и выберите нужный вариант.

Настройка PyCharm
Эта IDE позволяет переключаться между несколькими версиями интерпретатора Python. При этом можно выбрать конкретный интерпретатор для любого отдельного проекта, либо выбрать интерпретатор по умолчанию для всех новых проектов.
Выбрать интерпретатор для отдельного проекта можно из строки состояния (status bar):

Также можно выбрать нужную версию Python, нажав Ctrl + Alt + S, и перейдя в настройки проекта: Project название проекта > Python Interpreter. Чтобы просмотреть список всех установленных интерпретаторов, нажмите Show All:

Чтобы выбрать интерпретатор для всех новых проектов по умолчанию:
- На Windows и Linux откройте в меню File >New Projects Setup >Settings for New Projects.
- На macOS перейдите в File >New Projects Setup >Preferences for New Projects.
Затем в настройках Python Interpreter выберите один из установленных интерпретаторов, либо кликните по значку-шестеренке, чтобы загрузить новый.
Интерпретаторы Python онлайн
Самый известный из таких интерпретаторов – проект Jupyter Notebook . Запускать программы на Питоне можно прямо на странице:

- Replit – позволяет подключать любые библиотеки, загружать нужные файлы и базы данных.
- Python Online Compiler – простой интерпретатор, отлично подойдет для новичков.
- Online Python – удобный и простой интерпретатор.
- Online Python 3 IDE – поддерживает совместную разработку.
- Online Python Interpreter – предоставляет возможность сохранять и скачивать проекты.
Подведем итоги
В первой части мы рассмотрели преимущества и недостатки Python, и обсудили все возможные способы запуска интерпретатора – с установкой и без. Во второй части мы расскажем о книгах, курсах, YouTube-каналах и других полезных ресурсах для самостоятельного изучения языка.
Содержание самоучителя
- Особенности, сферы применения, установка, онлайн IDE
- Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
- Типы данных: преобразование и базовые операции
- Методы работы со строками
- Методы работы со списками и списковыми включениями
- Методы работы со словарями и генераторами словарей
- Методы работы с кортежами
- Методы работы со множествами
- Особенности цикла for
- Условный цикл while
- Функции с позиционными и именованными аргументами
- Анонимные функции
- Рекурсивные функции
- Функции высшего порядка, замыкания и декораторы
- Методы работы с файлами и файловой системой
- Регулярные выражения
- Основы скрапинга и парсинга
- Основы ООП: инкапсуляция и наследование
- Основы ООП – абстракция и полиморфизм
- Графический интерфейс на Tkinter
- Основы разработки игр на Pygame
- Основы работы с SQLite
- Основы веб-разработки на Flask
- Основы работы с NumPy
- Основы анализа данных с Pandas
Гайд VK Бот на Python 2 часть — Keyboard / Динамичное меню
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать другой.
Mamashin
Известный
Автор темы
да я все же выжил.
Всем привет. Уже писал тему с ботом для вк, там мы использовали модуль vk_api(честно сказать не очень для постоянной основы).
Сегодня немного познакомлю вас с таким модулем как vkbottle, ко всем строкам в коде буду оставлять комментарии, так что не бойтесь.
Хотел бы начать с того, что данный модуль действительно удобен во многом — код, реакция на ошибки со стороны вк, структура.
НАДА:
1. Python(Желательно 3.9) — python.org
2. Любой кодовый редактор(НЕ БЛОКНОТ!) — Notepad ++, Atom, VSC, IDLE Python, PyCharm, я использую Sublime Text и вам советую.
3. Сама библиотека vkbottle — Установка: pip install vkbottle
4. Так же библиотека asyncio — pip install asyncio
Так же:
pip install requests
ВНИМАНИЕ! В данном гайде я не буду рассказывать как создать python-файл и как запустить его, так как если вы не знаете этого, данная тема будет вам довольно сложна и не понятно, советую вам начать с vk_api если так надо.
Начнём с настройки сообщества, перед этим создаем его, создаем API ключ, ставим галочки на нужные евенты, так же и с LongPoll, затем ставим самую последнию версию Long Poll Api(Советую 5.131)
Спойлер: LongPoll Set
Затем, заходим в «Сообщения» включаем их, так же включаем возможности ботов, по желанию можно включить кнопку «Начать» и указать приветствие.
Спойлер: Message Set
Теперь копируем наш созданный API ключ, так же нам нужно ID сообщества(цифры после public. ) если у вас паблик уже с аудиторией, вы можете узнать ID своего паблика тут -regvk.com
Теперь наконец-то, мы можем перейти к коду =)
Для начала импортируем нужные нам библиотеки и библиотеки которые мы установили.
Затем создадим переменные в которые поместим и передадим нужные нам данные, в нашем случае это токен и id нашей группы.
Так же, дабы не ходить во круг и около, создадим первую функцию ответа на сообщение!
# - НАДА - import asyncio import requests import random # - Вк - from typing import Optional from vkbottle import GroupEventType, GroupTypes, Keyboard, Text, VKAPIError from vkbottle.bot import Bot, Message from vkbottle import Keyboard, KeyboardButtonColor, Text, OpenLink from vkbottle.tools import DocMessagesUploader # Переменные group_id = '206644831' secret = 'ВАШ ТОКЕН' # Для удобства bot_token = secret bot_group_id = group_id vk = Bot(bot_token, bot_group_id) # Приветствие # Есть 3 типа - private_message - ожидание\ответ только в личные сообщения группы! # chat_message - ожидание\ответ только в беседе! # message - ожидание\ответ и в беседе и в личные сообщения! @vk.on.private_message(text=['Начать', 'Ку', 'Привет']) # Сама функция: async def privet(message: Message): # Ответ на сообщение await message.answer('Приветик!') # Толик видиорегистратор система мене vk.run_forever()
Теперь сразу разберем вопрос с вложениями видео/фото/файлы и тд
В методах вк -vk.com/dev, в категории messages, есть метод attachment — отвечающий за прикрепление вложений к сообщению.
Создадим пару функций..
# - НАДА - import asyncio import requests import random # - Вк - from typing import Optional from vkbottle import GroupEventType, GroupTypes, Keyboard, Text, VKAPIError from vkbottle.bot import Bot, Message from vkbottle import Keyboard, KeyboardButtonColor, Text, OpenLink from vkbottle.tools import DocMessagesUploader # Переменные group_id = '206644831' secret = 'ВАШ ТОКЕН' ya = 'doc381260583_611979108' ya2 = 'photo381260583_457378962' ya3 = 'video-200537102_456239073' # Для удобства bot_token = secret bot_group_id = group_id vk = Bot(bot_token, bot_group_id) # Приветствие # Есть 3 типа - private_message - ожидание\ответ только в личные сообщения группы! # chat_message - ожидание\ответ только в беседе! # message - ожидание\ответ и в беседе и в личные сообщения! @vk.on.private_message(text=['Начать', 'Ку', 'Привет']) # Сама функция: async def privet(message: Message): # Ответ на сообщение await message.answer('Приветик!') # Фото @vk.on.private_message(text='фото') async def photo(message: Message): await message.answer('Вот твоя фотка ', attachment=ya2) # Видео @vk.on.private_message(text='видео') async def video(message: Message): await message.answer('Вот твое видео ', attachment=ya3) # Файл @vk.on.private_message(text='файл') async def file(message: Message): await message.answer('Вот твой файл ', attachment=ya) # Толик видиорегистратор система мене vk.run_forever()
Спойлер: Result
Теперь рассмотрим клавиатуру и напишем простое динамичное меню, так же добавим ответ на сообщение которое мы не знаем =)
Keyborad + Menu:
# - НАДА - import asyncio import requests import random # - Вк - from typing import Optional from vkbottle import GroupEventType, GroupTypes, Keyboard, Text, VKAPIError from vkbottle.bot import Bot, Message from vkbottle import Keyboard, KeyboardButtonColor, Text, OpenLink from vkbottle.tools import DocMessagesUploader # Переменные group_id = '206644831' secret = 'ВАШ ТОКЕН' ya = 'doc381260583_611979108' ya2 = 'photo381260583_457378962' ya3 = 'video-200537102_456239073' # Для удобства bot_token = secret bot_group_id = group_id vk = Bot(bot_token, bot_group_id) # Приветствие # Есть 3 типа - private_message - ожидание\ответ только в личные сообщения группы! # chat_message - ожидание\ответ только в беседе! # message - ожидание\ответ и в беседе и в личные сообщения! @vk.on.private_message(text=['Начать', 'Ку', 'Привет']) # Сама функция: async def privet(message: Message): # Ответ на сообщение await message.answer('Приветик!') # Фото #@vk.on.private_message(text='фото') #async def photo(message: Message): # await message.answer('Вот твоя фотка ', attachment=ya2) # Видео #@vk.on.private_message(text='видео') #async def video(message: Message): # await message.answer('Вот твое видео ', attachment=ya3) # Файл #@vk.on.private_message(text='файл') #async def file(message: Message): # await message.answer('Вот твой файл ', attachment=ya) # Меню @vk.on.private_message(text=['/mm', 'menu', 'меню']) @vk.on.private_message(payload=) async def menu(message: Message): await message.answer( # Сообщение при отправлении клавиатуры message = 'Меню: ', # Клавиатура keyboard = ( # one_time - True - одноразовая клавиатура, False - постоянная клавиатура # inline - True - клавиатура прикрепляется к сообщению(РАССМОТРИМ), False - клавиаутра в стандартном положении # .add - добавить кнопку # .row - отступ # Цвета: POSITIVE - Ярко зеленый, SECONDARY(можно нечего не указывать) - БЛЕДНО БЕЛЫЙ # PRIMARY - СИНИЙ, NEGATIVE - КРАСНЫЙ Keyboard(one_time = False, inline = False) .add(Text('Инфа'), color=KeyboardButtonColor.POSITIVE) .add(Text('ЛУЧШИЙ ПОРТАЛ'), color=KeyboardButtonColor.NEGATIVE) .row() .add(Text('Магаз'), color=KeyboardButtonColor.PRIMARY) ) ) @vk.on.private_message(text='Магаз') async def magaz(message: Message): await message.answer( message = 'Пятерочка: ', keyboard = ( Keyboard(one_time = False, inline = False) .add(Text('Сигареты'), color=KeyboardButtonColor.POSITIVE) .add(Text('Чипсы'), color=KeyboardButtonColor.POSITIVE) .row() .add(Text('Блейзуха'), color=KeyboardButtonColor.POSITIVE) .add(Text('Круггетсы'), color=KeyboardButtonColor.NEGATIVE) .row() .add(Text('Назад', payload=)) ) ) #
