Giter VIP home page Giter VIP logo

dogekiller21 / viktor_music_bot Goto Github PK

View Code? Open in Web Editor NEW
10.0 2.0 1.0 243 KB

A simple asynchronous discord bot with basic functionality - play music from VK in Discord.

Home Page: https://discord.com/api/oauth2/authorize?client_id=821326877213327371&permissions=8&scope=bot%20applications.commands

Python 99.41% Dockerfile 0.59%
bot vk python discord-py vkwave music-bot discord-bot discord-interactions discord pycord

viktor_music_bot's Introduction

ViKtor WILL BE BACK!

Обновленная версия со всеми фиксами и стабильной работой выйдет... когда-нибудь

На текущий момент проект брошен в свободное плаванье

Если у вас есть какие-то вопросы или предложения, сообщайте мне в Telegram

ViKtor Discord Music Bot

Пригласить бота к себе можно по ссылке

Запуск у себя

Для любого метода:

Выставите Privileged Gateway Intents в настройках бота

Скопируйте ссылку на бота со скопами bot и application.commands

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

Запуск через Docker Compose

Не забудьте закинуть токены в .env используя nano .env

cp .env.example .env
nano .env
docker-compose up --build -d

Посмотреть логи

docker-compose logs -f

Убить ботика

docker-compose down

Запуск ручками (вдруг захочется)

Установите Python3.10 (ссылка)

git clone https://github.com/dogekiller21/ViKtor_Music_Bot

Создайте виртуальное окружение

python -m venv venv

Активируйте виртуальное окружение

Win:

venv/Scripts/activate.bat

Linux:

source venv/bin/activate

Установите необходимые пакеты в свое окружение с помощью

pip install -r requirements.txt
pip install vkwave
pip install --upgrade typing_extensions==4.5.0

Установите ffmpeg

Win: (Инструкция)

Linux:

sudo apt install ffmpeg

Установите и запустите postgresql (Инструкция)

Создайте новую БД (стандартное название - app) (Инструкция)

Переименуйте файл .env.example в .env и заполните его токенами и данными для подключения к БД (про токены смотрите ниже)

Запустите main.py в корневой папке

python main.py

Решение проблем с зависимостью

  • Установите все пакеты из requirements.txt (pip install -r requirements.txt)
  • Установите vkwave (pip install vkwave)
  • Установите typing_extensions==4.5.0 (pip install --upgrade typing_extensions==4.5.0)

Необходимые токены

DC_TOKEN

Токен Discord Бота получается в настройках бота

VK_TOKEN

VK токен - можно получить тут (в данный момент нормально работает токен от Маруси)

GENIUS_TOKEN

Токен Genius Lyrics - получать тут (CLIENT ACCESS TOKEN)

viktor_music_bot's People

Contributors

dogekiller21 avatar kesha1225 avatar vikulkin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

sergeyyegres

viktor_music_bot's Issues

Ошибка, вроде связанная с bot-bot-1

Здравствуйте , я оч. ламер, так что прошу прощения за трату вашего времени

У меня появилась проблема с ботом, запускал через докер. Бот входит в сеть, но нет команд. Ошибок в логах не было, но я решил подождать и всё-таки одна вылезла, правда я вообще не могу её понять

viktor_music_bot-db-1 | 2023-07-26 10:00:11.961 UTC [1] LOG: database system is ready to accept connections
viktor_music_bot-bot-1 | tr, pr = await compat.wait_for(connector, timeout=timeout)
viktor_music_bot-bot-1 | File "/usr/local/lib/python3.10/site-packages/asyncpg/compat.py", line 56, in wait_for
viktor_music_bot-bot-1 | return await asyncio.wait_for(fut, timeout)
viktor_music_bot-bot-1 | File "/usr/local/lib/python3.10/asyncio/tasks.py", line 445, in wait_for
viktor_music_bot-bot-1 | return fut.result()
viktor_music_bot-bot-1 | File "/usr/local/lib/python3.10/site-packages/asyncpg/connect_utils.py", line 684, in _create_ssl_connection
viktor_music_bot-bot-1 | tr, pr = await loop.create_connection(
viktor_music_bot-bot-1 | File "/usr/local/lib/python3.10/asyncio/base_events.py", line 1076, in create_connection
viktor_music_bot-bot-1 | raise exceptions[0]
viktor_music_bot-bot-1 | File "/usr/local/lib/python3.10/asyncio/base_events.py", line 1060, in create_connection
viktor_music_bot-bot-1 | sock = await self._connect_sock(
viktor_music_bot-bot-1 | File "/usr/local/lib/python3.10/asyncio/base_events.py", line 969, in _connect_sock
viktor_music_bot-bot-1 | await self.sock_connect(sock, address)
viktor_music_bot-bot-1 | File "/usr/local/lib/python3.10/asyncio/selector_events.py", line 501, in sock_connect
viktor_music_bot-bot-1 | return await fut
viktor_music_bot-bot-1 | File "/usr/local/lib/python3.10/asyncio/selector_events.py", line 541, in _sock_connect_cb
viktor_music_bot-bot-1 | raise OSError(err, f'Connect call failed {address}')
viktor_music_bot-bot-1 | ConnectionRefusedError: [Errno 111] Connect call failed ('172.22.0.2', 5432)
viktor_music_bot-bot-1 | 2023-07-26 10:00:15,406:INFO:discord.client: logging in using static token
viktor_music_bot-bot-1 | 2023-07-26 10:00:17,180:INFO:discord.gateway: Shard ID None has sent the IDENTIFY payload.
viktor_music_bot-bot-1 | 2023-07-26 10:00:17,791:INFO:discord.gateway: Shard ID None has connected to Gateway: ["gateway-prd-us-east1-c-x9r8",{"micros":207526,"calls":["id_created",{"micros":955,"calls":[]},"session_lookup_time",{"micros":267,"calls":[]},"session_lookup_finished",{"micros":12,"calls":[]},"discord-sessions-prd-2-266",{"micros":205721,"calls":["start_session",{"micros":134438,"calls":["discord-api-787dffbb67-kt7jb",{"micros":93840,"calls":["get_user",{"micros":18109},"get_guilds",{"micros":5551},"send_scheduled_deletion_message",{"micros":12},"guild_join_requests",{"micros":294},"authorized_ip_coro",{"micros":14}]}]},"starting_guild_connect",{"micros":52,"calls":[]},"presence_started",{"micros":27677,"calls":[]},"guilds_started",{"micros":74,"calls":[]},"guilds_connect",{"micros":1,"calls":[]},"presence_connect",{"micros":43431,"calls":[]},"connect_finished",{"micros":43435,"calls":[]},"build_ready",{"micros":19,"calls":[]},"clean_ready",{"micros":1,"calls":[]},"optimize_ready",{"micros":23,"calls":[]},"split_ready",{"micros":1,"calls":[]}]}]}] (Session ID: b2905bc16dd1039d3530a2896097c358).
viktor_music_bot-bot-1 | Ignoring exception in on_connect
viktor_music_bot-bot-1 | Traceback (most recent call last):
viktor_music_bot-bot-1 | File "/usr/local/lib/python3.10/site-packages/discord/client.py", line 378, in _run_event
viktor_music_bot-bot-1 | await coro(*args, **kwargs)
viktor_music_bot-bot-1 | File "/usr/local/lib/python3.10/site-packages/discord/bot.py", line 1164, in on_connect
viktor_music_bot-bot-1 | await self.sync_commands()
viktor_music_bot-bot-1 | File "/usr/local/lib/python3.10/site-packages/discord/bot.py", line 738, in sync_commands
viktor_music_bot-bot-1 | app_cmds = await self.register_commands(
viktor_music_bot-bot-1 | File "/usr/local/lib/python3.10/site-packages/discord/bot.py", line 531, in register_commands
viktor_music_bot-bot-1 | prefetched_commands = await self._bot.http.get_guild_commands(
viktor_music_bot-bot-1 | File "/usr/local/lib/python3.10/site-packages/discord/http.py", line 365, in request
viktor_music_bot-bot-1 | raise Forbidden(response, data)
viktor_music_bot-bot-1 | discord.errors.Forbidden: 403 Forbidden (error code: 50001): Missing Access
viktor_music_bot-bot-1 | 2023-07-26 10:00:19,798:INFO:root: We have logged in as GLEB#1108
viktor_music_bot-bot-1 | 2023-07-26 10:04:02,367:INFO:discord.gateway: Websocket closed with WSCloseCode.ABNORMAL_CLOSURE, attempting a reconnect.
viktor_music_bot-bot-1 | 2023-07-26 10:04:02,367:INFO:discord.client: Got a request to RESUME the websocket.
viktor_music_bot-bot-1 | 2023-07-26 10:04:03,047:INFO:discord.gateway: Shard ID None has sent the RESUME payload.
viktor_music_bot-bot-1 | 2023-07-26 10:04:03,246:INFO:discord.gateway: Shard ID None has successfully RESUMED session b2905bc16dd1039d3530a2896097c358 under trace ["gateway-prd-us-east1-c-770s",{"micros":1820,"calls":["id_created",{"micros":0,"calls":[]},"session_lookup_time",{"micros":1583,"calls":[]},"session_lookup_finished",{"micros":14,"calls":[]},"discord-sessions-prd-2-266",{"micros":22}]}].

Я что-то не так сделал или чего-то не сделал?

Невозможно использовать команды бота

Установил и запустил бота в Docker'е, натравил на бота, который уже есть на сервере, но бот не отвечает ни на одну команду, вместо этого появляется автокоррекция других ботов. Пробовал приглашать бота на сервер с другими scopes (в readme написано, что нужен bot и application.commands), но ничего не помогает.
Как я понял у бота должен быть значок "Поддерживаются команды" и автокоррекция команд после /

Нужен токен из ВК?

Нужен токен из ВК?
Немного не понимаю, но знаю что он должен быть где-то здесь? -
image

Какая-то ошибка :D

Traceback (most recent call last):
File "C:\Users\comp\Desktop\music_bot\ViKtor_Music_Bot_main_.py", line 88, in
client.load_extension(f"{cogs_path}.{filename[:-3]}")
File "C:\Users\comp\Desktop\music_bot\ViKtor_Music_Bot\venv\lib\site-packages\discord\cog.py", line 732, in load_extension
self._load_from_module_spec(spec, name)
File "C:\Users\comp\Desktop\music_bot\ViKtor_Music_Bot\venv\lib\site-packages\discord\cog.py", line 663, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.music' raised an error: ModuleNotFoundError: No module named 'vkwave'

(venv) C:\Users\comp\Desktop\music_bot\ViKtor_Music_Bot>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.