Как пользоваться ВК мьюзик ботом в дискорде

Кратко о проблеме: Есть код для бота дискорда, который успешно подключается и работает. Есть код для бота вк, который успешно подключается и работает. Нет кода для бота, который успешно работает в вк и дискорде!

Выглядит это примерно так. И в зависимости от того, что происходит раньше — vk() или client.run() зависит, какой из ботов работает. Подскажите, пожалуйста, в каком направлении копать? Я совсем новичок в программировании, и моя проблема скорее всего в том, что по незнанию я не замечаю какую-то совсем очевидную причину.

UPD1: После некоторых тестов выяснилось, что проблема, вероятно, в том, что не происходят никакие другие события, если longpoll.listen(). Тогда вопрос в том, как делать это асинхронно.

Источник: ru.stackoverflow.com

КАК СДЕЛАТЬ МУЗЫКУ В ВК КАК СТАТУС ДИСКОРД

как добавить музыкального бота в Discord Vk Music Bot Sho

как добавить музыкального бота в Discord Vk Music Bot Sho

как добавить музыкального бота в Discord Vk Music Bot Sho

Welcome to our blog, your gateway to the ever-evolving realm of как добавить музыкального бота в Discord Vk Music Bot Sho. With a commitment to providing comprehensive and engaging content, we delve into the intricacies of как добавить музыкального бота в Discord Vk Music Bot Sho and explore its impact on various industries and aspects of society. Join us as we navigate this exciting landscape, discover emerging trends, and delve into the cutting-edge developments within как добавить музыкального бота в Discord Vk Music Bot Sho.

Еще по теме:  Как входить в дискорд по токену

Pin By Larissapossuh On добрий ранок Glassware Mugs Tableware

Pin By Larissapossuh On добрий ранок Glassware Mugs Tableware

Classic Christmas Ubicaciondepersonas Cdmx Gob Mx

Classic Christmas Ubicaciondepersonas Cdmx Gob Mx

D0 B4 D0 B5 D0 B2 D0 Be D1 87 D0 Ba D0 B0 D0 B8 D0 Bb D0 B8 D1 81 D0 B0 D1 80 D1 83 D1 81 D1

D0 B4 D0 B5 D0 B2 D0 Be D1 87 D0 Ba D0 B0 D0 B8 D0 Bb D0 B8 D1 81 D0 B0 D1 80 D1 83 D1 81 D1

=?utf 8?q?=d0=9e=d1=82=d0=b4=d0=b0=d1=82=d1=8c =d0=b2=d1=81=d1=91 =d0=b7=d0=b0 =d0=bc=d0=b5=d1=87=d1=82=d1=83 ?=

=?utf 8?q?=d0=9e=d1=82=d0=b4=d0=b0=d1=82=d1=8c =d0=b2=d1=81=d1=91 =d0=b7=d0=b0 =d0=bc=d0=b5=d1=87=d1=82=d1=83 ?=

video uploaded from my mobile phone. Мда .с моим братом было и не такое. watch?v=hqni5evcvryhttps://otosection.com/%D0%BA%D0%B0%D0%BA-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BC%D1%83%D0%B7%D1%8B%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B1%D0%BE%D1%82%D0%B0-%D0%B2-discord-vk-music-bot-sho/» target=»_blank»]otosection.com[/mask_link]

H Бесплатная музыка ВК или как сделать бота, отправляющего ссылку на скачивание музыки в черновиках Из песочницы

Привет читатель запятая путник запятая странник. Сегодня я помогу тебе окунуться в мир бесплатного софта, и музыки.Или как говорится:

Cтатья не может быть хорошей без Линуса смотрящего налево»

image

Некоторая предыстория

Все мы с вами знаем что с 16 декабря 2016 года вк запретила публичный доступ к аудио с помощью своего API, и наложила некоторое табу на скачивание музыки из своего клиента.Не все так плохо, и кампания предостовляет вам 1 месяц free trial`а, после которого нужно будет платить 150 рублей в месяц. Но что же делать после этого месяца, ведь платить не хочется, в стране и так демографический экономический кризис. Однако решение таковой проблемы вскоре нашлось и особенно хорошие люди начали создавать различные сервисы такие как например vrit.me Вот ссылка если что.
Именно этим сервисом мы воспользуемся для создания собственного приложения-бота который всего лишь по ID страницы вк может дать ссылки на прямое скачивание файла. Эта статья появилась после прочтения мною статьи другого автора. Вот ссылка на неё и вероятнее всего вы подумали что-то вроде «Хэй чувак, если кто-то сделал уже статью на эту тему, зачем нам нужен ты.». Но способ использованый автором теперь не работает, ведь vrit.me изменил формат ответа со своего php скрипта. И к тому же я расскажу вам как из этого сделать вк бота с лонгполом и реквестами.

Еще по теме:  Как закрепить дискорд поверх других окон

Перечень всего что вам может понадобиться

  • Python версии 3.6
  • Библиотека vk_api.

Устанавливается вот так
pip3 intsall vk_api
Устанавливается вот так
pip3 install bs4

Начнем с авторизации на сайте в вк в качестве группы

Думаю вы уже создали группу в вк и получили ключ для авторизации. Если нет то вот часть документации которая все вам объяснит.
Теперь к коду.

Создаем файл main.py и пишем

import vk_api # импортирование библиотеки в проект KEY = ‘Тут ключ для авторизации который вы получили’ vk = vk_api.VkApi(token=key) # собственно сама авторизация

Теперь после авторизации нам нужно понять как мы будем получать события происходящие с нашим ботом. Такие как полученное сообщение к примеру. Вк предоставляет вам выбор между Longpoll и Callback. В этом случае я буду использовать Longpoll.

def check(): # функция возвращающая последнее пришедшее сообщение и ID пользователя который его отправил answer = <> longpoll = VkLongPoll(vk) for event in longpoll.listen(): if event.type == VkEventType.MESSAGE_NEW: if event.from_user: answer[‘id’] = event.user_id answer[‘message’] = event.text return answer

В итоге любой ответ функции будет словарь выглядящий примерно так

С этим уже можно работать и нам остается только достроить логику и можно уже перейти к самому главному.

Добавляем вот такие вот строки

while True: serverUp = check() if serverUp.get(‘message’) == ‘музыка’: message = musicGet(serverUp.get(‘id’)) # эта строка пока может быть вам не понятна, ничего страшного

Теперь осталось только создать функцию musicGet, в которой и заключается смысл статьи. В начале файла также импортируйте еще 3 библиотеки

import requests import bs4 import json
MUSIC_URL = ‘https://vrit.me’ def musicGet(id): # функция будет принимать только id пользователя siteUrl = requests.get(MUSIC_URL + ‘/audios’.format(id)) # открытие сайта htmlMusicContent = bs4.BeautifulSoup(siteUrl.text , ‘html.parser’) allLinks = htmlMusicContent.find_all(‘a’) # выбор всех ссылок allTitles = htmlMusicContent.find_all(‘div’ , attrs=) # выбор всех названий песен reallyLinks = allLinks[7:-1] # отсев настоящих ссылок i = 0 answer = [] while i < len(reallyLinks): value = answer.append(value) i += 1 # создание ответа return answer

Еще по теме:  Бот который крашит сервер дискорд

Под отсевом настоящих ссылок имеется в виду то что первые 8 — это не настоящие ссылки на песню. Да это костыль, но другой идеи как это решить у меня не было.
Осталось только придумать как отсылать это пользователю. Вариант отправлять все как есть отпадает, потому что вк ограничивает количество символов в сообщении. Поэтому коллективно(я и кот) было решено отправлять файл. Напишем функции которая будет его создавать.

def writeFile(text): with open(‘file.txt’ , ‘w’) as file: for c in text: file.write(c[‘title’] + ‘ ‘ + c[‘link’] + ‘nn’)

Теперь нужно загрузить этот документ на сайт ВК.

def uploadDoc(user_id): document = vk.method(‘docs.getMessagesUploadServer’ , ) # получаем ссылку на загрузку файла upload = requests.post(document[‘upload_url’] , files = ) # загружаем его result = json.loads(upload.text) file = result[‘file’] # достаем ссылку document = vk.method(‘docs.save’ , )[0] theAnswer = # сохраняем файл и получаем owner_id и peer_id return theAnswer

Осталось пару штрихов, вернуться к блоку логики и отправить файл

if __name__ == ‘__main__’: while True: serverUp = check() x = uploadDoc( serverUp[‘id’]) if serverUp.get(‘message’) == ‘музыка’: message = musicGet(serverUp[‘id’]) # эта строка пока может быть вам не понятна, ничего страшного writeFile(message) attach = ‘doc’+str(x[‘owner_id’])+’_’+str(x[‘id’]) vk.method(‘messages.send’ , )

Вот в общем-то и все, однако любой код требует оптимизации. К примеру файл после отправки нужно удалять, давать нормальные названия переменным, и отправлять ответ в файле не так уж и круто.

Но в целом сейчас это уже завершенный проект, которым можно пользоваться.

Вот ссылка на его гитхаб.

Источник: sohabr.net

Рейтинг
( Пока оценок нет )
Загрузка ...