HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Python
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 08.03.2021, 17:20
Mamashin
Познавший АНТИЧАТ
Регистрация: 17.11.2021
Сообщений: 1,134
С нами: 2363906

Репутация: 8


По умолчанию

Всем привет! В этом гайде я возможно буду для кого то нубом, для кого то копипастом но все же решил сделать этот гайд, так как опять же не нашёл подобной темы на BH.

Между web-интерфейсом для питона, я решил делать гайды по таким стандартным вещам как самые обычные боты и не только для VK. Но сегодня у нас будет как раз таки Vk, поскольку многие когда то думали о своей группе VK в которой будет отвечать бот на определённые сообщения. Бот в данной теме будет крайне простой без классов и множества функций!

Итак, для написания бота на языке Python, нам понадобиться:

1. Python, скачать(клик), можно с официального сайта, желательно последнею версию!

2. Библиотека vk_api, pip install vk_api - главный модуль для работы с вк api.

3. Группа и страница ВК.

4. Любой текстовый редактор, но не блокнот, можете использовать Notepad++, Atom, VS Code, я же буду использовать Sublime Text 2.

5. Умение владеть компьютером и не путаться в двух вещах.

Итак, для начала нам нужно настроить нашу группу вк и создать токен.

Думаю, рассказывать как создать группу не стоит, переходим в настройки нашей группы, затем "Работа с API", затем нажимаем "Создать ключ", там же разрешаем то что вам нужно, можете разрешить всё

Создаём токен:



После того как создали, копируем его и сохраняем где нибудь для себя, чтобы по 100 раз не брать, после этого заходим во вкладку Long Poll API, включаем его, и в типах событий и включаем то что нам нужно, я же включу только отправку фотографий и сообщения.

Long Poll API:



События:



После этого, переходим в пункт "Сообщения" и включаем их.



Так же включаем возможности бота:



Всё, теперь токен у нас есть, осталось использовать его по назначению.


Открываем диск на котором хотели бы держать вашего бота, затем создаём там папку с любым английским названием, я же буду использовать диск C.

В этой папке создаём текстовый документ с любым английским названием и меняем расширение с .txt на .py, думаю после прошлого гайда не стоит говорить как включить показ расширения на Windows 10.

После всего этого, открываем командную строку (Win +R, cmd) и переходим в директорию нашего скрипта который мы создали только что,

у меня это выглядит так: cd c:/python/blasthack/, у вас же cd диск:/папка/и еще папка есть есть.

Теперь вы в директории вашего скрипта, для работы с кодом который будет ниже, вам предстоит установить библиотеку vkapi, не пугайтесь это легче чем поставить лайк.

В этой же командной строке прописываем следующею команду(-_-) - pip install vkapi

После этого ждём секунд 20-30, после установки можно наконец-то приступить к написанию нашего бота, я вставлю полный закомментированный код, вы же можете просто его скопировать и вставить, вставив токен, поменяв логику общения и даже добавив пару операторов elif.




easyvkbot.py:





Код:
# Импортируем библиотеку vk_api
import
vk_api
# Достаём из неё longpoll
from
vk_api
.
longpoll
import
VkLongPoll
,
VkEventType
# Создаём переменную для удобства в которой хранится наш токен от группы
token
=
"токен"
# В ковычки вставляем аккуратно наш ранее взятый из группы токен.
# Подключаем токен и longpoll
bh
=
vk_api
.
VkApi
(
token
=
token
)
give
=
bh
.
get_api
(
)
longpoll
=
VkLongPoll
(
bh
)
# Создадим функцию для ответа на сообщения в лс группы
def
blasthack
(
id
,
text
)
:
bh
.
method
(
'messages.send'
,
{
'user_id'
:
id
,
'message'
:
text
,
'random_id'
:
0
}
)
# Слушаем longpoll(Сообщения)
for
event
in
longpoll
.
listen
(
)
:
if
event
.
type
==
VkEventType
.
MESSAGE_NEW
:
# Чтобы наш бот не слышал и не отвечал на самого себя
if
event
.
to_me
:
# Для того чтобы бот читал все с маленьких букв
message
=
event
.
text
.
lower
(
)
# Получаем id пользователя
id
=
event
.
user_id
# Доисторическая логика общения на ифах
# Перед вами структура сообщений на которые бот сможет ответить, elif можно создавать сколько угодно, if и else же могут быть только 1 в данной ситуации.
# if - если, else - иначе(значит бот получил сообщение на которое не вызвана наша функция для ответа)
if
message
==
'привет'
:
blasthack
(
id
,
'Привет, я бот!'
)
elif
message
==
'как дела?'
:
blasthack
(
id
,
'Хорошо, а твои как?'
)
else
:
blasthack
(
id
,
'Я вас не понимаю! :('
)


После этого сохраняем файл и пишем в директории со скриптом следующие:


python название.py, если у вас ошибка то командная строка или терминал скажут вам об этом и программа не запуститься.

У меня же:

python easyvkbot.py



Если вы все сделали правильно, то наш бот будет отвечать вам!







Как видим всё прекрасно работает, но я считаю это слишком простым ботом даже если добавить туда 100 ответов на определённые команды, давайте сделаем, что то чуть сложнее!


Усложнив задачу я решил прикреплением картинки на сообщение пользователя, предварительно загрузив её в любой альбом и скопировавший её url.

Отправку картинки я решил не усложнять с помощью vkupload, а решил использовать метод отправки уже загруженной в вк картинки и прикрепления текста.



Код:

easyvkbot.py:





Код:
# Импортируем библиотеку vk_api
import
vk_api
# Достаём из неё longpoll
from
vk_api
.
longpoll
import
VkLongPoll
,
VkEventType
# Создаём переменную для удобства в которой хранится наш токен от группы
token
=
""
# В ковычки вставляем аккуратно наш ранее взятый из группы токен.
# Подключаем токен и longpoll
bh
=
vk_api
.
VkApi
(
token
=
token
)
give
=
bh
.
get_api
(
)
longpoll
=
VkLongPoll
(
bh
)
# Создадим функцию для ответа на сообщения в лс группы
def
blasthack
(
id
,
text
)
:
bh
.
method
(
'messages.send'
,
{
'user_id'
:
id
,
'message'
:
text
,
'random_id'
:
0
}
)
# Слушаем longpoll(Сообщения)
for
event
in
longpoll
.
listen
(
)
:
if
event
.
type
==
VkEventType
.
MESSAGE_NEW
:
# Чтобы наш бот не слышал и не отвечал на самого себя
if
event
.
to_me
:
# Для того чтобы бот читал все с маленьких букв
message
=
event
.
text
.
lower
(
)
# Получаем id пользователя
id
=
event
.
user_id
# Доисторическая логика общения на ифах
# Перед вами структура сообщений на которые бот сможет ответить, elif можно создавать сколько угодно, if и else же могут быть только 1 в данной ситуации.
# if - если, else - иначе(значит бот получил сообщение на которое не вызвана наша функция для ответа)
if
message
==
'привет'
:
blasthack
(
id
,
'Привет, я бот!'
)
elif
message
==
'как дела?'
:
blasthack
(
id
,
'Хорошо, а твои как?'
)
elif
message
==
'картинка'
:
# Отправляем картинку и текст
bh
.
method
(
"messages.send"
,
{
"peer_id"
:
id
,
"message"
:
"Вот твоя картинка!"
,
"attachment"
:
"photo381260583_457370887"
,
"random_id"
:
0
}
)
else
:
blasthack
(
id
,
'Я вас не понимаю! :('
)


А теперь результат:



Тоже самое можно сделать и с видео, аудио, товарами, документами, записями со стены, опросами.




На этом свой гайд я хочу закончить, спасибо всем за внимание, мне будет приятно если этот гайд хоть кому то да поможет! В этом гайде мы создали самого самого простого и лёгкого бота на python.

Исходный файлик я прикреплю к данной теме, если у вас что либо не получится - постараюсь вам помочь!

Так, же чтобы не морочиться с командной строкой и постоянным вводом команды, скрипт можно компилировать с помощью библиотеки pyinstaller

Переходим в директорию со скриптом, затем:

pyinstaller -F название.py

После этого нужно будет подождать секунд 30, после чего в нашей папке появится куча других папок, но нам нужна будет папочка dist, в ней и будет наш скрипт, только уже в exe формате, кстати для его запуска не обязательно устанавливать даже питон

 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...