Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- $$\ $$\
- \__| $$ |
- $$\ $$$$$$\ $$$$$$\ $$$$$$\ $$$$$$$\ $$$$$$$ |$$\ $$\ $$\ $$$$$$\ $$$$$$\
- $$ |$$ __$$\ $$ __$$\ $$ __$$\ $$ __$$\ $$ __$$ |$$ | $$ | $$ |$$ __$$\ $$ __$$\
- $$ |$$ | \__|$$ / $$ |$$$$$$$$ |$$ | $$ |$$ / $$ |$$ | $$ | $$ |$$$$$$$$ |$$ | \__|
- $$ |$$ | $$ | $$ |$$ ____|$$ | $$ |$$ | $$ |$$ | $$ | $$ |$$ ____|$$ |
- $$ |$$ | \$$$$$$$ |\$$$$$$$\ $$ | $$ |\$$$$$$$ |\$$$$$\$$$$ |\$$$$$$$\ $$ |
- \__|\__| \____$$ | \_______|\__| \__| \_______| \_____\____/ \_______|\__|
- $$\ $$ |
- \$$$$$$ |
- \______/
- Copyright 2017 Jonas Bögle, all rights reserved.
- */
- registerPlugin({
- name: 'Song blacklist/ban',
- version: '1.0',
- description: 'Prevents users from playing songs that contain specific strings in their title',
- author: 'irgendwer / Jonas <dev@sandstorm-projects.de>',
- backends: ['ts3', 'discord'],
- vars: [
- {
- name: 'blacklist',
- title: 'Songs that contain one of these strings are banned:',
- type: 'strings'
- }
- ]
- }, function (s, config, info) {
- // set to true for more output
- var DEBUG = true
- // include modules
- var event = require('event')
- var engine = require('engine')
- var media = require('media')
- event.on('track', function(track) {
- if (config.blacklist.some(function(str) {
- return track.title().toLowerCase().indexOf(str.toLowerCase()) !== -1
- })) {
- logmsg('D', 'skipping blacklisted song...')
- stop()
- // this method doesn't work for some reason:
- media.playNext(0)
- }
- })
- /**
- * Loggs a message, requires engine
- *
- * @param {String} level DEBUG, INFO or ERROR
- * @param {String} msg Message
- */
- function logmsg(level, msg) {
- switch (level) {
- case 'D':
- case 'DBG':
- level = 'DEBUG'
- break
- case 'I':
- case 'INF':
- level = 'INFO'
- break
- case 'E':
- case 'ERR':
- level = 'ERROR'
- break
- case 'W':
- case 'WARN':
- level = 'WARN'
- break
- }
- if (level == 'DEBUG' || level == 'INFO' || level == 'ERROR' || level == 'WARN') {
- if (DEBUG || level != 'DEBUG') {
- engine.log('[' + level + '] ' + msg)
- }
- } else {
- engine.log('[ERROR] unknown loglevel "' + level + '"; msg: ' + msg)
- }
- }
- // log info on startup
- logmsg('I', 'debug messages are ' + (DEBUG ? 'en' : 'dis') + 'abled')
- logmsg('I', info.name + ' v' + info.version + ' by ' + info.author + ' loaded successfully!')
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement