• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

Исходник Handmade [Discord] bot - V2

ставь чайник, зажигай плиту
Эксперт
Эксперт
Статус
Оффлайн
Регистрация
22 Май 2020
Сообщения
1,448
Реакции
1,092
Discord bot using discord.py v1.5.1

Скачать -
Пожалуйста, авторизуйтесь для просмотра ссылки.


Мой личный проект, над которым я работал почти каждый день.
Реализовано множество интересных механик.

Функционал бота: картиночки эротического содержания были удалены, хе-хе
1615566705970.png


1615566730182.png


1615566753256.png
Информация
!help - вывод всех команд
!ping - вывод задержки клиента
!anime - вывод топа списка пользователя Шикимори
Развлечение
!ecchi - рандом картинка из папки ecchi
!foot - рандом картинка из папки foot
!joke - случайно сгенерированная шутка (1-18 - темы шутки)
Модерирование
!clear - очистка текущего текстового канала (с лимитом дискорда)
!temp_category_set - установить id категории для системы 'Temp Rooms'
!temp_rooms_set -установить id генератора комнат для системы 'Temp Rooms'
Музыка
!play - проигрывание музыки
!loop - зацикливание проигрываемой музыки
!remove - удаление трека по номеру
!shuffle - перемешивание списка
!volume - установка громкости проигрывателя
!queue - очередь треков
!skip - пропустить текущий трек
!stop - остановить проигрывание музыки
!pause - пауза проигрывания
!resume - воспроизведение проигрывания
!current - информация о текущем треке
!leave - покинуть голосовой канал
!playlist_help - помощь по плейлистам
!playlist - информация о плейлисте
!playlist_create - создание нового плейлиста
!playlist_delete - удаление существующего плейлиста
!playlist_add - добавление трека в плейлист
!playlist_play - добавление плейлиста в очередь
!playlist_remove - удаление трека из плейлиста
!playlist_rename - переименовывание плейлиста
!playlists - все плейлисты
!playlists_my - плейлисты, созданные автором сообщения
!playlists_update - обновление списка плейлистов
Рандом
!roll - случайное число от 0 до 100 в виде emoji
!coin - монетка (с 3-мя состояниями (обычные+ребро))
Игры
!кнб - игра Камень Ножницы Бумага
!casino_help - помощь по азартным играм
!profile - информация о вашем профиле
!top - топ игроков (по рейтингу)
!bonus - получение бонуса
!blackjack - игра в блекджек
!slot - игра в слоты (барабанный слот)

Из интересного:
— Temp Rooms:
Создание временных комнат для всех желающий участников. Создатель комнаты может управлять комнатой. Настройка комнат для каждого сервера - простыми командами, настройки записываются в отдельный файл, связанный с гитхабом для удобного авто-обновления с возможность забыть о потере файла из-за временных директорий (например, Heroku).
— Playlists:
Создание и полное управление плейлистами. Автоматическое обновление на гитхабе.
— Система профилей:
У каждого пользователя сервера будет отдельный профиль (Без заезжанных лвлов). Примитивная система экономики (способ заработка= бонус/игра в азартные игры), лёгкая доработка на свой вкус. Существует система рейтинга и редкой валюты.
— Cистема специального канала:
В конфиге бота вы сможете установить настройку, которая позволит взаимодействовать с ботом лишь в отведённом для него канале.

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

Настройка

Основная настройка происходит в файле \settings\config.py :
Выпустите бота, скопируйте токен, id в соответствующие поля файла.
Создайте (если не было), аккаунт гитхаб и выпустите спец. токен (я выпустил со всеми правами) и скопируйте его в поле GITHUB
Префикс можете сами поменять в поле PREFIX
Поле CUSTOM_CHANNEL отвечает за спец. возможность взаимодействия с ботом в отдельном канале - установите True для включения данной функции и укажите имя данного канала ниже.

На Github создайте 2 репозитория (можете сделать их приватными), у одного из репозитория название - playlists, у другого - users.
В репозиторий playlists поместите файл
playlists\default.json
В репозиторий users поместите 2 файла: files\users.json и files\servers.json


Также существует отдельная настройка системы профиля - зайдите в \tools\casino\controller.py и вверху вы найдёте некоторые переменные:

income - отвечает за систему накоплений (чем больше денег - тем больше бонус)
B_TIME - раз в какое кол-во секунд человек сможет получать бонус
B_DIAMONDS - какое кол-во спец. валюты (алмазов) сможет получать человек в бонусе

Для корректной работы музыкальной системы вам потребуется:
ffmpeg - установите buildpack/иное средство на ваш хостинг бота, либо напрямую поместите EXE файл ffmpeg(найдёте сами) в корневую директорию.
создать свои cookie ютуба и поместить их в файл tools\cookies.txt (для обхода некоторых видеороликов с возрастным ограничением). Не забывайте также обновлять модуль youtube-dl до последней версии!


Запуск происходит при помощи файла start.py
Не забудьте установить модули из текстовика requirements


Если будут вопросы, можете задавать их сюда. Личку особо не читаю.

Личный блог -
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
что значит Handmade? типа сделано с помощью рук? xD
 
крутая функция !joke
 
Не воркает..
 
не работает
 
не работает удаление комнаты после выхода
 
Последнее редактирование:
Не работает, выдает такую ошибку -
1630775935909.png

что делать? Все модули установлены и в конфиге всё сделал
 
Вау, отличная работа. Мне бы "на коленке" такое собирать !!:screamcat:
 
Python:
Expand Collapse Copy
# Есть ли права администратора у пользователя
def is_admin(ctx):
    return ctx.message.author.guild_permissions.administrator
Плохая идея давать права админа, лучше по ролям сделать
 
Скачал ради папки "images". Автору добра, позитива, процветания и успехов, а также огромное спасибо!
 
Ошибка: An error occurred: Command raised an exception: DownloadError: [0;31mERROR:[0m uelHwf8o7_U: YouTube said: Unable to extract video data
 
Последнее редактирование:
как запустить бота?
 
  • Печально
Реакции: SQL
Гайс сорян что поднимаю такую старую тему.
Но кто знает как поставить этот FFMPEG. Скачал архив и в папку с ботом перебросил ffmpeg.exe.
Запускаю бота, пишет
ModuleNotFoundError: No module named 'ffmpeg'
UPD: решено
 
Последнее редактирование:
Поднимаю старую тему, и вопрос к автору:
При запуске ругается:
1.png


Гайс сорян что поднимаю такую старую тему.
Но кто знает как поставить этот FFMPEG. Скачал архив и в папку с ботом перебросил ffmpeg.exe.
Запускаю бота, пишет
ModuleNotFoundError: No module named 'ffmpeg'
UPD: решено
Как ты бота запускаешь?
 
Назад
Сверху Снизу