Добавить ролл бота в дискорд
Начнём. Ссылка на мой youtube канал.
Discord bot туториал. Туториал по созданию ботов для дискорда на node.js используя discord.js.
Creation date : 06.12.2019
Давайте начнём создание бота. Если у вас установлена node.js, то пропустите сделающие 2 строчки. Заходим на сайт node.js, скачиваем, устанавливаем. Скриншотов процесса установки нету, тк переустанавливать node.js нету желания. Но там всё интуитивно понятно.
Создание файлов, инициализация проекта, установка библиотек.
Создаём папку bot. Желательно не использовать кирилицу, юникод и т. п. в названии. Сразу же создаём файл index.js или bot.js. Это не несёт особого смысла. Можно назвать как угодно, но принятно index.js / bot.js. Это будет главный файл бота, т.е. первым запускается, в нём основной код бота. Далее открываем консоль / терминал если у вас linux. Для быстрого открытия консоли на windows можно нажать WIN + R, ввести cmd. Далее переходим в папку бота, думаю как это сделать через консоль всем понятно. Пишим : npm init - инициализация проекта. Жмём enter до конца. Если ошибка в package name, то напишите bot. npm i discord.js - установка библиотеки discord.js.
Далее рекомендую установить один из следующих редакторов кода :
Если очень слабый компьюер можете поставить notepad++, но это для постоянной основы не самый хороший вариант. Лично я использую Atom.
Вы можете зарегистрировать его на сайте discord developers. Жмём кнопку "New Application". Вводим название бота. Жмём "Create". Переходим во вкладку "Bot", нажимаем "Add Bot", затем "Yes, do it!" Находим строку "token", немного ниже есть кнопка "Copy", нажимаем. Теперь в вашем буфере обмена есть токен бота.
Создадим первый код. Пишем :
Открываем консоль, переходим в папку проекта и пишем :
в зависимости от названия файла. Если у вас windows, то вы можете создать файл start.bat с текстом
Если линукс, то вы можете создать файл start.sh
Это будет запускать бота. Далее я не буду говорить про запуск. Делайте это сами.
Создаем файл config.json с конфигурацией нашего бота.
В начале кода бота напишем :
Еще вы можете создать конфиг прямо в коде бота.
Но второй вариант крайне не рекомендуется использовать, ведь для того что-бы изменить конфиг бота нам придется изменять его код.
Давайте залогируем тег автора.
Также можно писать не
.startsWith проверят начинается ли строка с символов в аргументах.
Также даже начинающим программистам будет очень полезна в боте команда !eval для выполнения кода не пиша его в коде бота, т.е. вы пишите !eval какой-то код и бот выполняет этот код.
Я нашёл хороший туториал по этой команде на github. Рекомендую ознакомиться и взять себе команду в код бота. Принцип её работы мы разберём позже. Тык.
Это называется RichEmbed (Embed). Давайте отправим простой эмбед похожий на данный. (Картинка ниже)
Для этого создадим новую команду !ping .
В Embed есть много различных параметров, вы можете прочесть их далее, либо посмотреть на оффициальном сайте discord.js
Давайте сделаем команду для получения информации о пользователе. Команда взята из моего бота. Будем использовать библиотеку moment.js , устанавливаем npm i moment.js
Мой дискорд сервер!
Прошу зайти на мой дискорд сервер, ведь я долго делал туториал, а вам не сложно зайти на мой сервер в виде благодарности.
Dice Maiden is a simple to use dice rolling bot perfect for any trpg sessions.
Dice Maiden is a simple to use dice rolling bot perfect for any trpg sessions.
Below are examples of the dice roll syntax:
!roll 2d6 + 3d10 : Roll two six-sided dice and three ten-sided dice.
!roll 3d6 + 5 : Roll three six-sided dice and add five. Other supported static modifiers are add (+), subtract (-), multiply (*), and divide (/). NOTE: These static modifiers must be applied to the end of the roll syntax and after other modifiers.
!roll 3d6 e6 : Roll three six-sided dice and explode on sixes. Some game systems call this 'open ended' dice. If the number rolled is greater than or equal to the value given for this option, the die is rolled again and added to the total. If no number is given for this option, it is assumed to be the same as the number of sides on the die. Thus, '3d6 e' is the same as '3d6 e6'. The dice will only explode once with this command. Use "ie" for indefinite explosions.
!roll 3d6 ie6 : Roll three six-sided dice and explode on sixes indefinitely within reason. We will cap explosions at 100 rolls to prevent abuse.
!roll 3d10 d1 : Roll three ten-sided dice and drop one die. The lowest value will be dropped first. NOTE: These dice are dropped before any dice are kept with the following k command. Order of operations is : roll dice, drop dice, keep dice
!roll 3d10 k2 : Roll three ten-sided dice and keep two. The highest value rolled will be kept.
!roll 4d6 r2 : Roll four six-sided dice and reroll any that are equal to or less than two once. Use ir for indefinite rerolls.
!roll 6d10 t7 : Roll six ten-sided dice and any that are seven or higher are counted as a success. The dice in the roll are not added together for a total. Any die that meets or exceeds the target number is added to a total of successes.
!roll 4d6 ir2 : Roll four six-sided dice and reroll any that are equal to or less than two (and do the same to those dice). This is capped at 100 rerolls to prevent abuse.
!roll 4d10 kl3 : Roll four ten-sided dice and keep the lowest three dice rolled. NOTE: This modifier will only work with comments and math modifiers
!roll purge 10 : Purge the last 10 messages from channel. The purge value can be between 2 to 100 messages and requires the user to have the "manage messages" role.
!roll 4d6 ! Hello World! : Roll four six-sided dice and add comment to the roll.
!roll 6 4d6 : Roll 6 sets of four sixe-sided dice. A size of a set can be between 2 and 20.
!roll s 4d6 : Simplify roll output by not showing the tally.
!roll 4d6 ! unsort or !roll ul 4d6 : Roll four six-sided dice and unsort the tally.
!roll help : Displays basic usage instructions.
!roll donate : Get donation information on how to help support the bot!
These commands can be combined. For example:
!roll 10d6 e6 k8 +4 : Roll ten six-sided dice , explode on sixes and keep eight of the highest rolls and add four.
Change Bot Command Prefix
The following examples outline how to change, reset, or check the command prefix used by the bot.
!dm prefix foobar : Change the bots prefix to !foobar. NOTE: A new prefix will have an ! added to the start of it. A prefix cannot be more than 10 characters, contain spaces, or be the following: "check" or "reset". The user must have the "manage messages" or "administrator" role
!dm prefix reset : Reset the bots prefix to !roll
!dm prefix check : Checks the bots current prefix
Set Bot Request Display
You can set the bot to display the actual roll executed as part of the bot response with this server-wide option. This is off by default. The user must have the "manage messages" or "administrator" role to make these changes.
!dm request show : Show the roll requests in the output.
!dm request hide : Hide the roll requests in the output.
Game Systems Specific Rolls
Warhammer 40k Wrath and Glory example syntaxes:
!roll wng 4d6 : Roll four six-sided dice with a wrath dice.
!roll wng dn2 4d6 : Roll four six-sided dice with a wrath dice and a difficulty test of 2. The bot will append the test pass/fail status to the roll result!
!roll wng 4d6 !soak or !roll wng 4d6 !exempt or !roll wng 4d6 !dmg : Roll four six-sided dice without a wrath dice.
Dark Heresy 2nd edition syntaxes:
!roll dh 4d10 : Roll four ten-sided dice for dark heresy 2nd edition. If your roll contains a natural 10, you will be prompted with a righteous fury notification!
Alias Rolls
Alias rolls are commands that are shorthand for a longer, more complex comand. They can also change what the dice faces appear as in most cases. Below is the complete list of aliases , with example rolls, currently supported by Dice Maiden. Have a game system that you want turned into an alias? Create an issue on github to get it added to this list!
4cod -> 4d10 t8 ie10 Chronicles of Darkness. The first number is the number of dice to roll.
4wod8 -> 4d10 f1 ie10 t8 World of darkness 4th edition. The first number is the number of dice to roll and the second is the toughness of the check. Exploding 10s will be added to this alias at a later date.
3df -> 3d3 t3 f1 Fudge dice from the fate RPG system. The number represents total dice rolled. This alias also outputs the dice faces as +/ /-.
3wh4+ -> 3d6 t4 Warhammer Age of Sigmar/40k style rolls. The first number is the amount of dice rolled and the second number is the target number.
dd34 -> (1d3 * 10) + 1d4 Double digit rolls. Uses the first number for the first digit and the second number for the second digit. This is sometimes used in warhammer as a "d66".
age -> 2d6 + 1d6 AGE system roll. The AGE system games use 3d6 for ability tests, with 1 of them typically being represented as a drama die, stunt die, dragon die etc. It is important that all three dice be rolled together but the drama die is able to be distinguished from the others. Example games include Fantasy Age, Dragon Age, Mordern Age, Blue Rose, and The Expanse RPG.
+dX -> 2dX d1 Advantage roll where X is the dice sides value. Roll two dice and keep the highest.
-dX -> 2dX kl1 Disadvantage roll where X the dice sides value. Roll two dice and keep the lowest.
+d% -> ((2d10kl1-1) *10) + 1d10 Advantage roll for a percentile dice in a roll-under system. Rolls two tens and keeps the lowest.
-d% -> ((2d10k1-1) *10) + 1d10 Disadvantage roll for a percentile dice in a roll-under system. Rolls two tens and keeps the highest.
snm5 -> 5d6 ie6 t4 Sunsails: New Millennium 4th edition. The number represents total dice rolled. Indefinitely explodes on sixes, with a target of four.
d6s4 -> 4d6 + 1d6 ie The D6 System. The number must be 1 lower than the total size of the dice pool as the wild die is automatically added for you. If you have some pips to add put them on the end (i.e. d6s4 +2 is the same as 4d6 + 1d6 ie + 2).
sr6 -> 6d6 t5 Shadowrun System. The number represents total dice rolled. Target to hit is 5 or higher.
sp4 -> 4d10 t8 ie10 Storypath system. The number represents total dice rolled. A d10 system with a target set to 8 and infinite explosion on 10.
Мой блог про Форумные Ролевые Игры обвинили в рекламе. Я не виноват, что в рунете только один сайт и нет конкурентов. Но, чтобы не оставалось сомнений, что это не реклама, я пошагово расскажу как создать свою Форумную Ролевую Игру в Дискорде с Эль Президенте и котиками.
Но зачем нам делать свою игру в дискорде, если ты сам нахваливал готовый сайт? Хороший вопрос, мой воображаемый оппонент. И тут есть целый список плюсов.
3. Возможность играть голосом, да хоть с вебками. Совсем как Стопгеймовцы.
4. Никакой модерации и ограничений. Никаких пяти полей в создании персонажа, никакого минимального ограничения по длине описания, можно даже гифки с видосиками кидать.
Инструкция
И сейчас я расскажу что вам нужно и какие лайфхаки появились за мой опыт.
Первое, надо создать сервер.
Я выбрал Игры -> Для меня и друзей. Но на самом деле, не так важно, что вы выберете. Всё равно большую часть придётся удалить.
Уже тут начинается процесс оформления. Название и аватарка важны. Хотя бы чтобы не путаться в серверах.
Второе, организуем категории и каналы.
Если собираетесь играть голосом, то оставьте один голосовой и сделайте каналы "музыкальный бот" и "записи произошедшего". Поверьте, записи штука полезная, а музыкальный бот поможет создать настроение.
Если собираетесь играть текстом, то лучше сделайте отдельную категорию с игрой и отдельные комнаты для персонажей, что не находятся вместе. В этом плюс текстовых игр. Персонажи могут разойтись, но всё равно играть одновременно.
Остальные советы общие для всех. Создайте канал для кубиков. В комнатах с игрой они будут мешать, а в чате легко спутаются. Также сделайте две категории для персонажей игроков и для персонажей мастера. Так будет очень удобно искать информацию, туда же можно записывать инвентарь, состояние, опыт, здоровье и прочие переменные.
У меня получилось примерно вот так. Это самое основное. Ещё можно сделать отдельный канал для правил, если у вас есть электронная версия или ссылка или если правила самодельные.
Пункт третий, зовите ботов. Можете зайти на top.gg и найти нужных вам там. Я же порекомендую лишь двоих. Dice Maiden и Groovy.
Так работает Dice Maiden. !roll [количество кубиков]d[число граней] Буква F означает кубы для игры FATE и FUDGE на которых может выпадать только +, 0 или -
Это музыкальный бот. Пишете ему /play и даёте название или ссылку на ютуб. Он даже умеет находить нужную песню по запросу Screaming giant in mountains. Ну или можете просто писать Top Lovecraft Music или Tropico OST. И нужная атмосфера будет создана.
Конец
Поздравляю, FoxHeaven. Теперь ты можешь играть самостоятельно, без всяких сайтов и площадок. Никакой рекламы.
И всех остальных тоже поздравляю. Зовите друзей и веселитесь. Ну или наделайте закрытых комнат и устройте атмосферу загадочности и недоверия. Главное помните: роли видны всем, не надо давать игроку роль "мафия".
This is a general-purpose discord bot with more server management capabilities and random features slowly being incorporated in when I get hit by something that I really want on it. Along with being good for rolling dice, the bot also has some fun features such as posting a random (or specific) XKCD comic, getting shadowrun/DnD quotes from a quotesite, and more. If you'd like to receive updates on a regular basis or receive help with the bot, please join the discord guild for the bot.
It is also be possible to connect my bot to your discord server if you'd like to use the same bot that I do. Click here and authorize my bot on your server. I do my best to have it up as much as possible. If you'd like to support me in my endeavors to make the bot more awesome and reliable, please consider supporting me on Patreon.
Requirements to run this bot yourself
Administrative Bot Features
- Error logging
- Rebooting/stopping the bot (Must be bot owner)
- Renaming the bot (must be the owner of the bot)
- Setting the bot nickname
- Setting/disabling bot greeting when new members join the server
Guild and member management
- Ban users
- Create roles needed for the bot
- Create needed text channels
- Kick users
- Move messages from one channel to another
- Purge messages from channels
Fun commands
- Get cat pictures
- Get web comics
-
/DnD
- dad jokes
- chuck norris jokes
- Arbitrary dice types (ie: 3d10)
- DnD
- Shadowrun
- Vampire the Masquerade
To view progress of new feature and features planned for the future, check out the bot feature project board.
Some bot commands are hidden from the general help menu. This is to cut down on the amount of space the help text takes up when you run the help command. These are the hidden commands.
- all_info
- get_guilds
- get_roles
- git
- halt
- info
- logging
- member_activity
- reboot
- reload
- rename
- spam
Setting up the bot
Setting up the bot requires the following.
- Verifying the bot requirements are installed
- Downloading the bot
- Modifying the configuration file
- Running the bot
Verifying the bot requirements are installed
Note: If you are running the bot through docker, you will instead need to configure docker for your system. Please see the docker installation docs for information on how to do this. Once docker is installed and configured, skip to modifying the configuration file.
Verify that you have the requirements (listed at the top) installed.
If you don't have these, or you don't know if you do, continue on to the next section.
How to install python and all requirements
Follow the install instructions and make sure that pip is installed with python.
The command may differ depending on the version of python/pip you have. If the above fails, try some of these.
Once the requirements are installed, you must ensure that nltk downloads all things necessary to use it.
If you still can't get discord installed, try googling your error. There's probably something else going on that you'll need to fix.
Downloading the bot
Now that you have set up python and discord, download the files for the bot. This can be done by going to the top of the page and clicking on the green button that says "Clone or Download" and choosing "Download Zip". Once that is done, unzip the files and move the folder to wherever makes sense for your system.
Alternatively, the repository can be cloned with git if you have it installed.
Modifying the configuration file (OPTIONAL)
Running the bot the first time will walk you through all setup. If you ever need to modify something manually, here is how to do that.
Inside of the downloaded folder, you'll see a folder called "config". Inside here, you'll find a file called "config.json". Open this in notepad/notepad++/sublime/vim/etc. Overwrite YOUR_TOKEN_HERE with your bot token. This is necessary to have the bot run.
If you would like to limit the bot to only allow rolling in tabletop, bottesting, and rolling channels, set restrict_rolling to "True".
Running the bot
There are three ways to run the bot, with the bot_setup.py run button, with python commands, or with docker.
Running the bot with bot_setup.py
Once your configuration has been saved, click the "Run Bot" button. The setup window will not allow any more use until you turn off the bot from discord with the halt command.
Running the bot with python
Either double click the "main.py" file, or navigate to the main folder in a terminal at run bot.py with
If everything goes as expected, the bot will start up and connect to your server.
Running the bot with Docker
NOTE: I have only ever ran docker on Linux. The instructions here are for Linux. Please see documentation for your oprating system if you are on a Windows or Mac device.
After downloading and setting up the bot configuration, open a terminal window and verify that you have docker installed and running.
Если вы еще не добавили бота на сервер и не знаете, как правильно это сделать, прочитайте другой наш материал, где рассказывается как об официальных сайтах проектов, так и об открытых площадках, где они свободно распространяются.
Подробнее: Как добавить бота на сервер в Discord
Вариант 1: Программа для ПК
Управлять сервером более логично при помощи версии Discord для ПК, поскольку в ней вы найдете все доступные функции и упростите процесс добавления и настройки бота. Поэтому поговорим о данном варианте в первую очередь, детально разобрав каждый этап конфигурирования бота, если его изначальные параметры вас не устраивают.
Шаг 1: Использование команды помощи
-
Убедитесь в том, что необходимый бот отображается в списке участников сервера, означая его успешную авторизацию.
Отображаемая вспомогательная информация зависит непосредственно от разработчиков ботов, поскольку они решают, что описывать пользователям. Дополнительные сведения всегда можно получить на официальном сайте или открытой площадке, откуда был загружен бот.
Шаг 2: Настройка роли
-
Нажмите по названию сервера для отображения его меню.
Шаг 3: Добавление роли боту
На определенных серверах дополнительно боту присваивается специфическая роль или же создатель предпочитает их все объединить в один список для простоты настройки. В этом случае действует такой же принцип, как и для обычных участников сервера.
-
В блоке «Управление участниками» того же меню с настройками выберите раздел «Участники».
Что касается добавления новых ролей на сервер, то получить полезную информацию по этому поводу вы можете в специальной инструкции на нашем сайте, щелкнув по следующему заголовку.
При необходимости можно удалить уже существующую по умолчанию роль бота, если она вам не требуется и вы хотите присвоить ему другие права.
Шаг 4: Права бота на каналах
-
Наведите курсор мыши на требуемый канал и кликните по появившемуся значку шестеренки.
Шаг 5: Параметры на официальном сайте
В завершение этого варианта рассмотрим дополнительные настройки ботов на их официальных сайтах. Подходит это только в тех случаях, когда инструмент является универсальным, поддерживает плагины и специфические параметры, как, например, популярный MEE6, которого мы и возьмем в качестве примера.
- Откройте главную страницу сайта бота и выполните авторизацию для определения добавленных серверов, затем перейдите в раздел с плагинами.
Наличие определенных параметров зависит исключительно от типа бота и подхода разработчиков, и если вы не обнаружили подобных настроек, значит, для выбранного инструмента они недоступны.
Вариант 2: Мобильное приложение
Если с добавлением ботов на сервер в Discord через мобильное приложение часто возникают трудности, то вот их настройка обычно не вызывает никаких проблем, поскольку все действия по управлению стандартны и доступны как создателю, так и администратору сервера.
Шаг 1: Использование команды помощи
Начнем с получения общих сведений о взаимодействии с добавленным ботом, что производится путем ввода команды помощи. Она отображает информацию, заложенную разработчиками специально с целью рассказать юзерам больше о своем проекте.
-
Перейдите на сервер и сделайте свайп влево для отображения списка участников.
Шаг 2: Настройка роли
Если вы читали Вариант 1 про настройку бота через программу на компьютере, то уже знаете, что каждому из них присваивается своя роль с определенными правами. При необходимости их редактирования можно использовать и мобильное приложение, о чем и пойдет речь в следующей инструкции.
-
Тапните по названию сервера для открытия его меню.
Все остальные присутствующие прав изменяйте по собственному желанию в соответствии с предназначением инструмента. Достаточно просто прочесть определение разрешения для понимания его действия.
Шаг 3: Добавление роли
Отдельно рассмотрим добавление роли для бота, если его стандартные права вас не устраивают или вы хотите объединить несколько участников для выполнения определенных задач на сервере. Управление ролями бота осуществляется точно так же, как бы это было и с другими пользователями.
-
Снова перейдите в «Настройки сервера», но на этот раз выберите раздел «Участники».
Шаг 4: Права бота на каналах
Завершающий этап — редактирование разрешений для бота на текстовых и голосовых каналах сервера. Необходимость в реализации данной задачи появляется редко, но если все-таки возникнет, сделать это будет крайне просто, поскольку весь процесс точно такой же, как и для других участников сервера.
-
Сделайте долгий тап по голосовому или текстовому каналу.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Читайте также: