Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
duncte123 committed Nov 15, 2017
2 parents 364ae1b + b87e9c6 commit 04f78a8
Show file tree
Hide file tree
Showing 32 changed files with 686 additions and 175 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -106,3 +106,7 @@ bin/
logs\.txt

\.idea/kotlinc\.xml

\.idea/artifacts/

\.idea/copyright/profiles_settings\.xml
4 changes: 2 additions & 2 deletions .idea/copyright/skybot.xml → .idea/copyright/SkyBot.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 0 additions & 7 deletions .idea/copyright/profiles_settings.xml

This file was deleted.

4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ The following libraries are used:

Go to `https://discordapp.com/oauth2/authorize?&client_id=<CLIENT_ID>&scope=bot&permissions=0` and replace `<CLIENT_ID>` with the client id of the bot on the top of the page. Then you will be asked, on which server the bot should join.

# live demo
You can find a live demo [_here_](https://discord.gg/XBQ9xAT)
# Support
If you need any support please join our [support guild](https://discord.gg/NKM9Xtk) [![Support Guild](https://discordapp.com/api/guilds/191245668617158656/embed.png)](https://discord.gg/NKM9Xtk)

# ToDo list
- [X] SQLite as a fail over database
Expand Down
20 changes: 14 additions & 6 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
*/

buildscript {
ext.kotlin_version = '1.1.51'
ext.kotlin_version = '1.1.60'

repositories {
mavenCentral()
Expand All @@ -36,14 +36,22 @@ plugins {
id'org.jetbrains.kotlin.jvm' version '1.1.51'
}

apply plugin: 'groovy'

group = 'ml.duncte123.skybot'

version '3.50.5'
version '3.50.6'

compileGroovy.options.encoding = "UTF-8"

sourceCompatibility = 1.8

repositories {
jcenter()

mavenLocal()
mavenCentral()

// Use JitPack if jcenter doesn't find, not download everything from JitPack ;)
maven {
name 'jitpack'
Expand All @@ -61,8 +69,7 @@ buildConfig {

dependencies {
//JDA (java discord api)
compile group: 'com.github.DV8FromTheWorld', name: 'JDA', version: 'e11c97c'
compile group: 'com.github.DV8FromTheWorld', name: 'JDA', version: '022a16f' //Beta build with ShardManager
compile group: 'com.github.DV8FromTheWorld', name: 'JDA', version: '3dc7fe2' //Beta build with ShardManager
//Lavaplayer
compile group: 'com.sedmelluq', name: 'lavaplayer', version: '1.2.44'
//jda-nas
Expand All @@ -80,8 +87,8 @@ dependencies {
//gson
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.1'
//groovy
compile group: 'org.codehaus.groovy', name: 'groovy-jsr223', version: '2.4.10'
//compile group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.4.10'
//compile group: 'org.codehaus.groovy', name: 'groovy-jsr223', version: '2.4.10' //only for eval
compile group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.4.10' // to also compile it
//groovy sandbox
compile group: 'org.kohsuke', name: 'groovy-sandbox', version: '1.6'
//logback
Expand All @@ -90,6 +97,7 @@ dependencies {
compile group: 'ch.qos.logback', name: 'logback-core', version: '1.2.3'
//Add kotlin
compile group: 'org.jetbrains.kotlin', name: 'kotlin-stdlib-jre8', version: kotlin_version
compile group: 'org.jetbrains.kotlin', name: 'kotlin-reflect', version: '1.1.51'

//test stufzz
testCompile group: 'junit', name: 'junit', version:'4.12'
Expand Down
72 changes: 30 additions & 42 deletions gradlew
Original file line number Diff line number Diff line change
@@ -1,43 +1,25 @@
#!/usr/bin/env sh
#!/usr/bin/env bash

##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################

# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""

APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`

# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"

warn () {
warn ( ) {
echo "$*"
}

die () {
die ( ) {
echo
echo "$*"
echo
Expand All @@ -48,7 +30,6 @@ die () {
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
Expand All @@ -59,11 +40,26 @@ case "`uname`" in
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac

# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null

CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar

# Determine the Java command to use to start the JVM.
Expand All @@ -89,7 +85,7 @@ location of your Java installation."
fi

# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
Expand Down Expand Up @@ -154,19 +150,11 @@ if $cygwin ; then
esac
fi

# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
function splitJvmOpts() {
JVM_OPTS=("$@")
}
APP_ARGS=$(save "$@")

# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"

# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"

exec "$JAVACMD" "$@"
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
14 changes: 10 additions & 4 deletions gradlew.bat
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal

@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=

set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%

@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=

@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome

Expand Down Expand Up @@ -46,9 +46,10 @@ echo location of your Java installation.
goto fail

:init
@rem Get command-line arguments, handling Windows variants
@rem Get command-line arguments, handling Windowz variants

if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args

:win9xME_args
@rem Slurp the command line arguments.
Expand All @@ -59,6 +60,11 @@ set _SKIP=2
if "x%~1" == "x" goto execute

set CMD_LINE_ARGS=%*
goto execute

:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$

:execute
@rem Setup the command line
Expand Down
34 changes: 34 additions & 0 deletions src/main/groovy/ml/duncte123/skybot/RegisterGroovyCommands.groovy
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/*
* Skybot, a multipurpose discord bot
* Copyright (C) 2017 Duncan "duncte123" Sterken
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

package ml.duncte123.skybot

import ml.duncte123.skybot.commands.fun.TextToBricksCommand
import ml.duncte123.skybot.commands.uncategorized.ShortenCommand
import ml.duncte123.skybot.utils.AirUtils
import org.slf4j.event.Level

class RegisterGroovyCommands {
static CommandManager manager = AirUtils.commandManager
RegisterGroovyCommands() {
AirUtils.log("GroovyCommandManager", Level.INFO, "Registering groovy commands")
manager.addCommand(new ShortenCommand())
manager.addCommand(new TextToBricksCommand())
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
/*
* Skybot, a multipurpose discord bot
* Copyright (C) 2017 Duncan "duncte123" Sterken
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/

package ml.duncte123.skybot.commands.fun

import ml.duncte123.skybot.objects.command.Command
import ml.duncte123.skybot.utils.EmbedUtils
import ml.duncte123.skybot.utils.Settings
import net.dv8tion.jda.core.events.message.guild.GuildMessageReceivedEvent
import org.apache.commons.lang3.StringUtils

class TextToBricksCommand extends Command {
@Override
void executeCommand(String invoke, String[] args, GuildMessageReceivedEvent event) {

if (args.length < 1) {
sendMsg(event, "Correct usage: `${Settings.prefix}$invoke <words>`")
return
}

def output = StringUtils.join(args, " ")
.replaceAll("([a-zA-Z])", ":regional_indicator_\$1:")
.replaceAll("([0-9])", "\$1\u20E3")
sendEmbed(event, EmbedUtils.embedMessage(output))
}

@Override
String help() {
return "Convert your text to bicks"
}

@Override
String getName() {
return "ttb"
}
}
Loading

0 comments on commit 04f78a8

Please sign in to comment.