There's currently a rework in progress using the new Discord Slash Command feature, check it out here.
A discord bot built for Blade & Soul's NA Server
- Daily, weekly, and event summary announcement on reset
- Character searching
- Marketplace data
- Time based dungeon access announcement (Koldrak)
You can invite Jinsoyun to your server by going here.
If you want to host the bot yourself just follow the instruction below. The downside is you need to update daily, weekly and event data manually.
Requirements:
- Discord App Token - Guide how to get Discord App Token
- Twitter API Token - Guide how to get Twitter API Token
- node.js
- MongoDB
How-to:
- Make a MongoDB database with the name you specified and then make these collections (check
mongoexport
folder)apis
api infochallenges
dailies and weeklies rewards and questsconfigs
bot configuration datadungeons
dungeons dataevents
event info and detailsitems
item data and it's market dataquests
quests data
- Create
.env
file - Create
config.json
file - Open Node.js command prompt and navigate to your bot directory.
- Do
npm install
to get bot dependencies. - Do
node index.js
to run the bot.
Local bot configuration data is located in 3 places, theres one in config.json
for local configuration and .env
for sensitive data, and in configs
collection for global configuration data.
You can check the template here
bot.default_prefix
-String
: bot command default prefix.bot.author_id
-Array
: array of bot author id.bot.maintenance
-Boolean
: bot maintenance mode, will disable some feature if enabled.twitter.id
-String
: followed accounts id.collection.logs
-String
: logs collection name.collection.market
-String
: market collection name.collection.items
-String
: items collection name.collection.stats
-String
: stats collection name.collection.configs
-String
: configs collection name.logs.time
-Boolean
: show logs timestamp.logs.save
-Boolean
: save logs to db.
You can check the template here
SOYUN_BOT_DB_CONNECT_URL
= Your MongoDB database connection URL.SOYUN_BOT_DB_NAME
= Your MongoDB database name.SOYUN_BOT_DISCORD_SECRET
= Your Discord token.SOYUN_BOT_TWITTER_CONSUMER_KEY
= Your twitter consumer key.SOYUN_BOT_TWITTER_CONSUMER_SECRET
= Your twitter consumer secret key.SOYUN_BOT_TWITTER_ACCESS_KEY
= Your twitter access token key.SOYUN_BOT_TWITTER_ACCESS_SECRET
= Your twitter access token secret key.
There's also another configuration file for global settings, this configuration contains if some commands or system enabled or not. You can check the template in globalSettings.example.json file. Explanation:
reset
: Reset notification containing daily, weekly challenges and event summary.twitter
: Blade & Soul and Blade & Soul ops twitter post.koldrak
: Koldrak's Lair access notification.commands
: List of commands.not_found
: Default image when item/character can't be found.
- Rizky Sedyanto - Initial work - ln2r; Discord: ln2r#1691
- Built With
- Visual Studio Code - Editor
- discord.js - Discord API node.js module
- Silveress - Blade and Soul unofficial API
- discord.js commando - discord.js command framework
- Commando MongoDBProvider - MongoDB provider for Commando
- BnSTools - Smart Bid Algorithm
This bot collect some data which will be used for debug, statistical, and personal use only. If you have any issue with this feel free to contact me.
- User Discord ID
- User Discord Username
- User Discord Discriminator
- Guild ID
- Guild Name
- Guild Region
- Guild Member Count
- Guild Availability
- Bot Joined Date
cmd-dump
cmd-guilds
cmd-audit
You can contact me via Discord (ln2r#1691
) or by submitting new issue here.
Code of this project is licensed under MIT license