Sueta

[DISCONTINUED] ScriptBot

1.2

This plugin is discontinued.

·Plugin

The most customizable, open-source Discord bridge plugin.

Usage
Using this plugin, You will be able to make your own commands, broadcast message, linked chat, event message. You can config command scripts in config.yml, for example: !players. You can script it yourself and it's so easy to learn!

You can link JDA and Bukkit events using this plugin, things you can do with this plugin is UNLIMITED. It's up to you what you can think of. This plugin is compatible will all other plugins on the server you want to use it with, just import the API.

Privacy
this plugin collects server information for Metrics, you can turn it off in the config
Metrics: https://bstats.org/plugin/bukkit/ScriptBot

Permissions
/scriptbot - scriptbot.commands.help
/scriptbot reload - scriptbot.commands.reload
/scriptbot forceupdate - scriptbot.commands.forceupdate
/scriptbot download - scriptbot.commands.download

Configuration

config.yml
# ScriptBot by VRCube
# For info on bot, please go to https://github.com/DV8FromTheWorld/JDA/
# For example on script, please go to https://github.com/VRCube/ScriptBot
# Bot info
bot-token: 'Insert token here'
bot-playing: 'Minecraft'
# This is import for command script
# DO NOT REMOVE JAVA.LANG.* OR ELSE NOTHING WILL WORK!
script-imports:
  - java.lang.*
  - java.utils.*
  - org.bukkit.*
  - org.bukkit.block.*
  - org.bukkit.entity.*
  - org.bukkit.inventory.*
  - org.bukkit.material.*
  - org.bukkit.map.*
  - org.bukkit.util.*
  - org.bukkit.scheduler.*
  - org.bukkit.plugin.*
  - org.bukkit.scoreboard.*
  - net.dv8tion.jda.core.*
  - net.dv8tion.jda.core.hooks.*
  - net.dv8tion.jda.core.utils.*
  - net.dv8tion.jda.core.events.message.*
  - net.dv8tion.jda.core.events.guild.*
  - net.dv8tion.jda.core.events.channel.*
  - net.dv8tion.jda.core.events.*
  - net.dv8tion.jda.core.entities.*
  - net.dv8tion.jda.bot.*
  - net.dv8tion.jda.client.*
  - org.bukkit.event.*
  - org.bukkit.entity.*
  - org.bukkit.event.player.*
  - org.bukkit.event.block.*
  - org.bukkit.event.entity.*
  - org.bukkit.event.enchantment.*
  - org.bukkit.event.hanging.*
  - org.bukkit.event.inventory.*
  - org.bukkit.event.server.*
  - org.bukkit.event.vehicle.*
  - org.bukkit.event.world.*
  - me.vrcube.scriptbot.*


# Use message with only type MSG
# Use script with only type SCRIPT
# Put script files in plugins/ScriptBot/scripts
# Put delete: true to delete command after sent

# Example for scripts
#commands:
#  '!players':
#    type: SCRIPT
#    script: 'players.java'
#    delete: true
# in players.java you can write code there, no need methods
# bindings that are available:
# event   - MessageReceivedEvent
# channel - MessageChannel
# bot     - JDA: the bot itself
# author  - User: Command sender
# message - Message

commands:
  '!ping':
    type: MSG
    message: 'hello'

# Bukkit Events
# To get bot instance, use ScriptBot.getBot()
# To listen for event, use the way you did with Bukkit
# Example:
# @EventHandler
# public void onJoin(PLayerJoinEvent event){
#   System.println("A player joined: "+event.getPlayer().getName());
#}
# put script in plugins/ScriptBot/scripts
event-script: 'none'

# JDA Events
# To get bot instance, use event.getJDA()
# Use method overrides from ListenerAdapter class
# Events can be found here: https://github.com/DV8FromTheWorld/JDA/tree/master/src/main/java/net/dv8tion/jda/core/events
# Some event classes are not imported, if you wish to use it. Import it
# Example:
# @Override
# public void onMessageReceived(MessageReceivedEvent event){
#   Bukkit.broadcastMessage("Message received! "+event.getMessage().getRawContent());
# }

jda-event-script: 'none'

metrics-enabled: true

# Enable and Disable script, runs when plugin enable and disable
# available bindings:
# bot - bot instance
enable-script: 'none'
disable-script: 'none'
discord-command:
  messages:
  - '&c-------------------------------------------------'
  - '&eJoin our discord now: https://discord.gg/example'
  - '&ePowered by ScriptBot'
  - '&c-------------------------------------------------'
  enabled: true

Installation
Java 8+ is REQUIRED to install this plugin.

  • Create a new application at https://discordapp.com/developers/applications/me/create
  • Enter a name for your bot, click next, then click Create Bot User.
  • Upload / Install the plugin, run and stop the server, then use your favorite text editor to edit the configuration file
  • Click reveal token on application page, paste it in the config
  • Go to https://discordapi.com/permissions.html and paste client id, open invite link and select your server
  • Configure commands of your choice and event handlers script, for examples please take a look here, You can make many commands as you want!
  • Now save the config, run the server and enjoy!

Info
Please DO NOT post issues or error here, please leave that on Github here

If you need help on the plugin, feel free to contact me at my discord guild

FAQ
Q
: How do I fix the error "Unsupported major.minor version 52.0"
A: JAVA 8+ IS REQUIRED

Q: Plugin doesn't work after server reload
A: Don't use reload, use restart instead

Similar projects

Plugin →