pythonbot/README.md

57 lines
5.9 KiB
Markdown
Raw Normal View History

2020-04-04 16:19:47 +00:00
# Мой личный бот на python для ВК
#### от dan63047
2020-04-05 14:41:33 +00:00
Этот бот просто отвечает на поддержваемые запросы в переписке с сообществом. Был написан мною в целях изучения python
2020-04-04 16:07:39 +00:00
2020-04-04 16:42:46 +00:00
Для того, что бы бот работал, сначала нужно создать в папке бота файл `config.py`, который должен иметь следующее содержание:
2020-04-04 16:26:36 +00:00
2020-04-05 14:41:33 +00:00
```python
import vk_api
import pyowm
vk = vk_api.VkApi(token="vk_group_access_token") # Токен сообщества в ВК
2020-04-05 22:49:39 +00:00
vk_mda = vk_api.VkApi(token="vk_app_service_key") # Костыль для того, чтобы работал метод photos.get
2020-04-06 16:31:46 +00:00
group_id = 190322075 # Цифровой id вашего сообщества
2020-05-04 20:26:22 +00:00
album_for_command = 269199619 # Цифровой id альбома для команды !image
owner_id = 276193568 # Ваш цифровой id
2020-05-20 16:36:28 +00:00
owm = pyowm.OWM('OpenWeather_api_key', language='ru') # Ключ OpenWeather API для функции погоды
2020-04-05 14:41:33 +00:00
```
2020-04-04 16:30:37 +00:00
2020-05-20 16:36:28 +00:00
Установите в группе версию Long Poll API на 5.103
2020-04-12 09:47:30 +00:00
Запустите `dan63047bot.py`, что бы бот начал слушать сервер
# Функции бота
Чтобы воспользоваться функциями бота необходимо отправить команду и в некоторых случаях агрумент. Все команды начинаются с восклицательного знака
* **!h, !help** — бот отправляет список команд и их краткое описание, а так же дату последнего обновления и ссылку на этот репозиторий
* **!my_id** — бот достаёт из вашего сообщения `user_id` и отправляет его вам
* **!user_id *id*** — бот отправляет *id* нужного вам пользователя в vk api методом `users.get` и отправляет вам полученные этим методом данные: имя, фамилия, id, пол, время последнего онлайна и платформы, закрыт ли профиль
* **!group_id *id*** — бот отправляет *id* нужного вам сообщества в vk api методом `groups.getById` и отправляет вам полученные этим методом данные: название, описание, id, количество подписчиков
* **!image** — бот, с помощью костыля в виде сервисного ключа приложения, получает vk api методом `photos.get` фотографии альбома (пока что определённого), выбирает с помощью функции в python `random.randrange` одну фотографию и отправляет вам её как attachment
* **!weather *город*** — бот получает с помощью OpenWeather API текущую погоду в городе и отправляет её вам
* **!wiki *запрос*** — бот получает с помощью Wikipedia API краткое описание статьи по запросу и отправляет её вам
* **!byn** — бот получает с помощью НБ РБ API текущий курс белорусского рубля и отправляет её вам
2020-04-12 09:47:30 +00:00
* **!echo** — бот начинает повторять за вами, чтобы это остановить, надо написать *!echo off*
2020-04-15 10:36:12 +00:00
* **!game *камень/ножницы/бумага/статистика*** — бот играет с вами в "Камень, ножницы, бумага" и ведет статискику игр, которую записывает в файл json
2020-05-20 16:36:28 +00:00
* **!midnight** — бот будет уведомлять о каждом миднайте по Московскому времени. Введите ещё раз, чтобы отменить это
2020-05-04 20:26:22 +00:00
* **!debug** — бот отправляет информацию о своём состоянии
2020-05-20 16:36:28 +00:00
* **!debug *log*** — бот отправляет последние 10 строк из своего лога. Доступно только вам
* **!debug *bots*** — бот отправляет информацию о обьектах бота в памяти. Доступно только вам
2020-05-21 19:52:49 +00:00
* **!access *all/owner*** — позволяет в беседе установить уровень доступа к командам *!midnight* и *!debug*. *all* - все могут пользоваться. *owner* - только вы. Доступно только вам
* **!reminder *set/list/delete*** — напоминалка. С агрументом *set* бот запускает установку напоминания, с аргументом *list* отправляет вам все ваши запланированные напоминания, с аргументом *delete* запускает удаление напоминания
# Использованные библиотеки
* [vk_api](https://github.com/python273/vk_api) — модуль для создания скриптов для социальной сети Вконтакте
* [pyowm](https://github.com/csparpa/pyowm) — модуль для получения погоды через OpenWeather API
* [Wikipedia-API](https://github.com/martin-majlis/Wikipedia-API) — модуль для получения статей из Wikipedia
2020-05-20 16:55:23 +00:00
* [Pillow](https://github.com/python-pillow/Pillow) — Python Imaging Library fork
# Дополнительно
С ботом можно пообщаться [здесь](https://vk.com/im?sel=-190322075)
2020-05-20 16:36:28 +00:00
Автор бота: [Даниил Михайлов](https://vk.com/dan63047)
Буду рад помощи и поддержке