Merge branch 'develop'

This commit is contained in:
Alex Stewart
2019-04-21 01:43:53 -07:00
16 changed files with 373 additions and 29 deletions
+3
View File
@@ -63,3 +63,6 @@ RP\.txt
rp\.txt
Rp\.txt
rP\.txt
.log
*.log
+228
View File
@@ -0,0 +1,228 @@
[Log] [Core] Initializing LocStrings
[Log] [Strings] Attempting to read localization file: locStrings.config
[Log] [Strings] Found lookup call in .\src\commands\CommandBeansShow.java: BeansShowInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandBeansShow.java: BeansShowDisplay
[Log] [Strings] Found lookup call in .\src\commands\CommandBetBeans.java: BetBeansInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandBetBeans.java: BetBeansLowBet
[Log] [Strings] Found lookup call in .\src\commands\CommandBetBeans.java: BetBeansNotValid
[Log] [Strings] Found lookup call in .\src\commands\CommandBetBeans.java: BetBeansNotEnough
[Log] [Strings] Found lookup call in .\src\commands\CommandBetBeans.java: BetBeansLose
[Log] [Strings] Found lookup call in .\src\commands\CommandBetBeans.java: BetBeansWin
[Log] [Strings] Found lookup call in .\src\commands\CommandBlurry.java: BlurryInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandBoop.java: BoopInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandBoop.java: BoopStandard
[Log] [Strings] Found lookup call in .\src\commands\CommandBoop.java: BoopPerson
[Log] [Strings] Found lookup call in .\src\commands\CommandBoop.java: BoopMultiple
[Log] [Strings] Found lookup call in .\src\commands\CommandChangeIndicator.java: ChangeIndicatorInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandChangeIndicator.java: ChangeIndicatorError
[Log] [Strings] Found lookup call in .\src\commands\CommandChangeIndicator.java: ChangeIndicatorChanged
[Log] [Strings] Found lookup call in .\src\commands\CommandChoose.java: ChooseInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandChoose.java: ChooseOne
[Log] [Strings] Found lookup call in .\src\commands\CommandChoose.java: ChooseChoice
[Log] [Strings] Found lookup call in .\src\commands\CommandColiru.java: ColiruInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandColiru.java: ColiruError
[Log] [Strings] Found lookup call in .\src\commands\CommandDoWork.java: DoWorkInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandDoWork.java: DoWorkFinished
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes1
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes2
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes3
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes4
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes5
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes6
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes7
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes8
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes9
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes10
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallMaybe1
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallMaybe2
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallMaybe3
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallMaybe4
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallMaybe5
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallNo1
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallNo2
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallNo3
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallNo4
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallNo5
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallError
[Log] [Strings] Found lookup call in .\src\commands\CommandFetch.java: FetchInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandFetch.java: FetchBringBack
[Log] [Strings] Found lookup call in .\src\commands\CommandFetch.java: FetchRunAway
[Log] [Strings] Found lookup call in .\src\commands\CommandFetch.java: FetchBringBackWrong
[Log] [Strings] Found lookup call in .\src\commands\CommandFetch.java: FetchEat
[Log] [Strings] Found lookup call in .\src\commands\CommandFetch.java: FetchCatchRun
[Log] [Strings] Found lookup call in .\src\commands\CommandFetch.java: FetchStare
[Log] [Strings] Found lookup call in .\src\commands\CommandFetch.java: FetchError
[Log] [Strings] Found lookup call in .\src\commands\CommandGiveBeans.java: GiveBeansInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandGiveBeans.java: GiveBeansInvalid
[Log] [Strings] Found lookup call in .\src\commands\CommandGiveBeans.java: GiveBeansNoneMentioned
[Log] [Strings] Found lookup call in .\src\commands\CommandGiveBeans.java: GiveBeansSuccess
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleAdd.java: GuildRoleAddInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleAdd.java: GuildRoleAddSuccess
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleAdd.java: GuildRoleAddFailure
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleAdd.java: GuildRoleAddNotAllowed
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleAllowed.java: GuildRoleAllowedInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleAllowed.java: GuildRoleAllowedDuplicate
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleAllowed.java: GuildRoleAllowedSuccess
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleRemove.java: GuildRoleRemoveInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleRemove.java: GuildRoleRemoveSuccess
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleRemove.java: GuildRoleRemoveFailure
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleRemove.java: GuildRoleRemoveNotAllowed
[Log] [Strings] Found lookup call in .\src\commands\CommandHelp.java: HelpInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandHelp.java: HelpDisplay
[Log] [Strings] Found lookup call in .\src\commands\CommandHelpBuilder.java: HelpBuilderInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandInfo.java: InfoInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandInfo.java: InfoResponse
[Log] [Strings] Found lookup call in .\src\commands\CommandInvite.java: InviteInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandJDoodle.java: JDoodleInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandJDoodle.java: JDoodleError
[Log] [Strings] Found lookup call in .\src\commands\CommandMap.java: MapInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandMap.java: MapInvalid
[Log] [Strings] Found lookup call in .\src\commands\CommandMap.java: MapVersion
[Log] [Strings] Found lookup call in .\src\commands\CommandMap.java: MapSeed
[Log] [Strings] Found lookup call in .\src\commands\CommandMap.java: MapWidth
[Log] [Strings] Found lookup call in .\src\commands\CommandMap.java: MapHeight
[Log] [Strings] Found lookup call in .\src\commands\CommandPerish.java: PerishInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandPing.java: PingInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandPing.java: PingResponse
[Log] [Strings] Found lookup call in .\src\commands\CommandPollManage.java: PollManageInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandPollResults.java: PollResultsInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandPollResults.java: PollResultsResponse
[Log] [Strings] Found lookup call in .\src\commands\CommandPollShow.java: PollShowInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandPollShow.java: PollShowNoPoll
[Log] [Strings] Found lookup call in .\src\commands\CommandPollShow.java: PollShowPoll
[Log] [Strings] Found lookup call in .\src\commands\CommandPollShow.java: PollShowChoices
[Log] [Strings] Found lookup call in .\src\commands\CommandPollVote.java: PollVoteInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandPollVote.java: PollVoteAlreadyVoted
[Log] [Strings] Found lookup call in .\src\commands\CommandPollVote.java: PollVoteNotValidVote
[Log] [Strings] Found lookup call in .\src\commands\CommandPollVote.java: PollVoteSuccess
[Log] [Strings] Found lookup call in .\src\commands\CommandPollVote.java: PollVoteNotValidNumber
[Log] [Strings] Found lookup call in .\src\commands\CommandPollVote.java: PollVoteNoPoll
[Log] [Strings] Found lookup call in .\src\commands\CommandRating.java: RatingInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandRating.java: RatingChanged
[Log] [Strings] Found lookup call in .\src\commands\CommandRating.java: RatingInvalid
[Log] [Strings] Found lookup call in .\src\commands\CommandRating.java: RatingWarning
[Log] [Strings] Found lookup call in .\src\commands\CommandRole.java: RoleInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandRole.java: RoleStandardResponse
[Log] [Strings] Found lookup call in .\src\commands\CommandRole.java: RoleError
[Log] [Strings] Found lookup call in .\src\commands\CommandRole.java: RoleNeededRole
[Log] [Strings] Found lookup call in .\src\commands\CommandRole.java: RoleChanged
[Log] [Strings] Found lookup call in .\src\commands\CommandRoll.java: RollInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandRoll.java: RollError
[Log] [Strings] Found lookup call in .\src\commands\CommandRPEnd.java: RPEndInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandRPEnd.java: RPEndFileOut
[Log] [Strings] Found lookup call in .\src\commands\CommandRPEnd.java: RPEndError
[Log] [Strings] Found lookup call in .\src\commands\CommandRPG.java: RPGInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandRPG.java: RPGInvalid
[Log] [Strings] Found lookup call in .\src\commands\CommandRPStart.java: RPStartInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandShutdown.java: ShutdownInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandStark.java: StarkInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandStats.java: StatsInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandTeey.java: TeeyInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandTweet.java: TweetInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandTweet.java: TweetError
[Log] [Strings] Found lookup call in .\src\commands\CommandWolfram.java: WolframInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandWolfram.java: WolframNoArgs
[Log] [Strings] Found lookup call in .\src\commands\CommandWolfram.java: WolframError
[Log] [Strings] Found lookup call in .\src\commands\CommandYeet.java: YeetInfo
[Log] [Strings] Attempting to write updated localization file
[Log] [Core] Initializing LocCommands
[Log] [Strings] Attempting to read localization file: locCommands.config
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: work
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: shutdown
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: stats
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: invite
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: buildHelp
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: tweet
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: rating
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: indicator
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: guildroleallowed
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: poll
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: givebeans
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: rpg
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: fetch
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: guildroleadd
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: guildroleremove
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: teey
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: perish, thenperish
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: yeet
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: ping
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: boop
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: roll
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: choose
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: help
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: info, about
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: vote
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: results
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: showpoll
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: wolfram
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: c++, g++, cplus, cpp
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: java, jdoodle
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: beans
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: role
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: bet
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: map
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: rpstart
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: rpend
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: tony, stark, dontfeelgood, dontfeelsogood
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: blur
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: eightball, 8ball
[Log] [Strings] Attempting to write updated localization file
[Log] [Database] Connection to SQLite has been established.
[Log] [Core] Initializing CommandEnabler
[Log] [Core] Command registered under key work
[Log] [Core] Command registered under key shutdown
[Log] [Core] Command registered under key stats
[Log] [Core] Command registered under key invite
[Log] [Core] Command registered under key buildhelp
[Log] [Core] Command registered under key tweet
[Log] [Core] Command registered under key rating
[Log] [Core] Command registered under key indicator
[Log] [Core] Command registered under key guildroleallowed
[Log] [Core] Command registered under key poll
[Log] [Core] Command registered under key givebeans
[Log] [Command] [RPG] Registered stats
[Log] [Command] [RPG] Registered about
[Log] [Command] [RPG] Registered info
[Log] [Command] [RPG] Registered explore
[Log] [Command] [RPG] Registered run
[Log] [Command] [RPG] Registered fight
[Log] [Core] Command registered under key rpg
[Log] [Core] Command registered under key fetch
[Log] [Core] Command registered under key guildroleadd
[Log] [Core] Command registered under key guildroleremove
[Log] [Core] Command registered under key teey
[Log] [Core] Command registered under key perish
[Log] [Core] Command registered under key thenperish
[Log] [Core] Command registered under key yeet
[Log] [Core] Command registered under key ping
[Log] [Database] CreateGeyKey: key-booptracker
[Log] [Core] Command registered under key boop
[Log] [Core] Command registered under key roll
[Log] [Core] Command registered under key choose
[Log] [Core] Command registered under key help
[Log] [Core] Command registered under key info
[Log] [Core] Command registered under key about
[Log] [Core] Command registered under key vote
[Log] [Core] Command registered under key results
[Log] [Core] Command registered under key showpoll
[Log] [Core] Command registered under key wolfram
[Log] [Core] Command registered under key c++
[Log] [Core] Command registered under key g++
[Log] [Core] Command registered under key cplus
[Log] [Core] Command registered under key cpp
[Log] [Core] Command registered under key java
[Log] [Core] Command registered under key jdoodle
[Log] [Core] Command registered under key beans
[Log] [Core] Command registered under key role
[Log] [Core] Command registered under key bet
[Log] [Core] Command registered under key map
[Log] [Core] Command registered under key rpstart
[Log] [Core] Command registered under key rpend
[Log] [Core] Command registered under key tony
[Log] [Core] Command registered under key stark
[Log] [Core] Command registered under key dontfeelgood
[Log] [Core] Command registered under key dontfeelsogood
[Log] [Core] Command registered under key blur
[Log] [Core] Command registered under key eightball
[Log] [Core] Command registered under key 8ball
+1
View File
@@ -39,3 +39,4 @@ guildroleremove=1
guildroleadd=1
guildroleallowed=1
fetch=1
guildrolenotallowed=1
+1
View File
@@ -12,6 +12,7 @@ blur=
choose=
poll=
rpstart=
guildrolenotallowed=
bet=
perish, thenperish=
teey=
+7 -2
View File
@@ -1,6 +1,11 @@
[CommandPollManage]
PollManageInfo='start' will start a new poll with the query of the line you put after, 'choice' will add a choice to the poll, 'stop' will end the poll
[CommandGuildRoleNotAllowed]
GuildRoleNotAllowedFailure=
GuildRoleNotAllowedSuccess=
GuildRoleNotAllowedInfo=
[CommandBeansShow]
BeansShowDisplay=You have %s beans!
BeansShowInfo=Displays how many beans you have
@@ -33,8 +38,8 @@ GuildRoleAddInfo=Add a role to yourself!
[CommandRole]
RoleInfo=Will show the current role you have, Admins can change others roles with input of 'role x @y' with x being blacklist, general, mod, or admin. Blacklist will not allow the user to interact with kitty anymore, general mod and admin will give the user access to those commands.
RoleStandardResponse=Your role is
RoleError=You aren't allowed to do that! You must have the KittyRole '%' or higher!
RoleStandardResponse=Your role is %s
RoleError=You aren't allowed to do that! You must have the KittyRole '%s' or higher!
RoleChanged=Changed %s to role `%s`!
RoleNeededRole=Please enter `general`, `mod`, or `admin`!
+19
View File
@@ -0,0 +1,19 @@
local time = os.time();
function plugin(message, user)
if(string.match(string.lower(message), "purple"))then
local timedif = os.time() - time;
time = os.time();
days = (timedif / (60*60*24));
hours = ((timedif / (60*60)) % 24);
mins = ((timedif / (60)) % 60);
secs = timedif % 60;
return "*GASP!!!* \n" .. user.name .. " said **THE** word! It's been " .. round(days) .. " days, " .. round(hours) .. " hours, " .. round(mins) .. " minutes, and " .. round(secs) .. " seconds since the last time!";
end
return nil;
end
function round(num)
return math.floor(num + 0.5)
end
@@ -0,0 +1,39 @@
package commands;
import core.Command;
import core.LocStrings;
import dataStructures.KittyChannel;
import dataStructures.KittyGuild;
import dataStructures.KittyRating;
import dataStructures.KittyRole;
import dataStructures.KittyUser;
import dataStructures.Response;
import dataStructures.UserInput;
public class CommandGuildRoleNotAllowed extends Command
{
public CommandGuildRoleNotAllowed(KittyRole level, KittyRating rating) { super(level, rating); }
@Override
public String HelpText() { return LocStrings.Stub("GuildRoleNotAllowedInfo"); }
@Override
public void OnRun(KittyGuild guild, KittyChannel channel, KittyUser user, UserInput input, Response res)
{
String [] roles = input.args.split(",");
String role;
for(int i = 0; i < roles.length; i++)
{
role = roles[i].trim();
if(guild.allowedRole.contains(role))
{
guild.allowedRole.remove(role);
res.Call(LocStrings.Stub("GuildRoleNotAllowedSuccess"));
}
else
{
res.Call(String.format(LocStrings.Stub("GuildRoleNotAllowedFailure"), role));
}
}
}
}
+16 -12
View File
@@ -26,13 +26,17 @@ public class CommandStats extends Command
String out = "```\n";
Stats stats = Stats.instance;
long seen = stats.GetMessagesSeen();
long processed = stats.GetCommandsProcessed();
out += "----- [General] -----\n";
out += " Messages observed: " + stats.GetMessagesSeen() + "\n";
out += "Commands processed: " + stats.GetCommandsProcessed() + "\n";
out += " Messages observed: " + seen + "\n";
out += "Commands processed: " + processed + "\n";
out += " Command invoke %: " + ((int)((processed / (float)seen) * 1000)) / 10.0f + "%\n";
out += " KittyBot uptime: " + stats.GetFormattedUptime() + "\n";
out += "\n";
out += "----- [Health] -----\n";
out += " SMT cores: " + stats.GetCPUAvailable() + "\n";
out += " SMT cores: " + stats.GetCPUAvailable() + "\n";
// If CPU load works on this OS, list it.
double CPULoad = stats.GetSystemCPULoad();
@@ -46,20 +50,20 @@ public class CommandStats extends Command
Integer timed_waiting = data.states.get(Thread.State.TIMED_WAITING);
Integer waiting = data.states.get(Thread.State.WAITING);
out += " Child threads:"
+ " run: " + (runnable == null ? 0 : runnable)
+ " block: " + (blocked == null ? 0 : blocked)
+ " sleep: " + (timed_waiting == null ? 0 : timed_waiting)
+ " wait: " + (waiting == null ? 0 : waiting)
+ " term: " + (terminated == null ? 0 : terminated)
out += " Threads:"
+ " run-" + (runnable == null ? 0 : runnable)
+ " block-" + (blocked == null ? 0 : blocked)
+ " sleep-" + (timed_waiting == null ? 0 : timed_waiting)
+ " wait-" + (waiting == null ? 0 : waiting)
+ " term-" + (terminated == null ? 0 : terminated)
+ "\n";
Integer guildCount = stats.GetGuildCount();
Integer userCount = stats.GetUserCount();
out += "\n----- [Counts] -----\n"
+ "Guilds: " + guildCount + "\n"
+ " Users: " + userCount;
out += "\n----- [Cache] -----\n"
+ "Cached Guilds: " + guildCount + "\n"
+ " Cached Users: " + userCount;
out += "\n```";
res.Call(out);
+1
View File
@@ -342,6 +342,7 @@ public class ObjectBuilderFactory
manager.Register(LocCommands.Stub("rating"), new CommandRating(KittyRole.Admin, KittyRating.Safe));
manager.Register(LocCommands.Stub("indicator"), new CommandChangeIndicator(KittyRole.Admin, KittyRating.Safe));
manager.Register(LocCommands.Stub("guildroleallowed"), new CommandGuildRoleAllowed(KittyRole.Admin, KittyRating.Safe));
manager.Register(LocCommands.Stub("guildrolenotallowed"), new CommandGuildRoleNotAllowed(KittyRole.Admin, KittyRating.Safe));
manager.Register(LocCommands.Stub("poll"), new CommandPollManage(KittyRole.Mod, KittyRating.Safe));
manager.Register(LocCommands.Stub("givebeans"), new CommandGiveBeans(KittyRole.Mod, KittyRating.Safe));
+2 -4
View File
@@ -38,8 +38,6 @@ public class Plugin
globals.load(contents).call();
func_plugin = globals.get("plugin");
String output = null;
}
catch (IOException e)
{
@@ -47,11 +45,11 @@ public class Plugin
}
}
public String Run(String args)
public String Run(String args, PluginUser user)
{
try
{
LuaValue res = func_plugin.call(LuaValue.valueOf(args));
LuaValue res = func_plugin.call(LuaValue.valueOf(args), user.AsLua());
if(!res.isnil())
return res.toString();
+4 -2
View File
@@ -6,6 +6,8 @@ import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.stream.Stream;
import dataStructures.KittyUser;
// Reads in, handles, and manipulates plugins. Plugins are loaded in the order they appear in the folder.
public class PluginManager
{
@@ -37,12 +39,12 @@ public class PluginManager
// Runs all plugins, returning when it gets a non-nill result.
// Otherwise, returns null.
public String RunAll(String input)
public String RunAll(String input, KittyUser user)
{
for(int i = 0; i < plugins.size(); ++i)
{
Plugin plugin = plugins.get(i);
String out = plugin.Run(input);
String out = plugin.Run(input, new PluginUser(user));
if(out != null)
{
+12
View File
@@ -0,0 +1,12 @@
package core.lua;
import org.luaj.vm2.LuaValue;
import org.luaj.vm2.lib.jse.CoerceJavaToLua;
public class PluginStructure
{
public LuaValue AsLua()
{
return CoerceJavaToLua.coerce(this);
}
}
+13
View File
@@ -0,0 +1,13 @@
package core.lua;
import dataStructures.KittyUser;
public class PluginUser extends PluginStructure
{
public String name;
public PluginUser(KittyUser user)
{
this.name = user.name;
}
}
+1
View File
@@ -53,6 +53,7 @@ public class KittyRP
while(!log.isEmpty())
{
writer.println(log.get(0));
writer.flush();
log.remove(0);
}
writer.close();
+3 -4
View File
@@ -3,6 +3,7 @@ package main;
import javax.security.auth.login.LoginException;
import core.*;
import core.lua.PluginManager;
import core.lua.PluginUser;
import dataStructures.KittyChannel;
import dataStructures.KittyGuild;
import dataStructures.KittyRole;
@@ -36,6 +37,7 @@ public class Main extends ListenerAdapter
public static void main(String[] args) throws InterruptedException, LoginException, Exception
{
// Factory startup. The ordering is intentional.
GlobalLog.initialize();
databaseManager = ObjectBuilderFactory.ConstructDatabaseManager();
commandEnabler = ObjectBuilderFactory.ConstructCommandEnabler();
commandManager = ObjectBuilderFactory.ConstructCommandManager(commandEnabler);
@@ -75,14 +77,11 @@ public class Main extends ListenerAdapter
// RP logging system
RPManager.instance.addLine(channel, user, input);
//
// Attempt to spin up a command. If the command doesn't exist.
// Run plugins right before invoking the commands but after all other setup.
if(commandManager.InvokeOnNewThread(guild, channel, user, input, response) == false)
{
String pluginOutput = pluginManager.RunAll(input.message);
String pluginOutput = pluginManager.RunAll(input.message, user);
if(pluginOutput != null)
response.Call(pluginOutput);
+19 -1
View File
@@ -1,15 +1,33 @@
package utils;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class GlobalLog
{
private static final String log = "Log";
private static final String warn = "Warning";
private static final String error = "ERROR";
private static final String fatal = "FATAL";
private static PrintWriter outputLog;
public static void initialize() throws FileNotFoundException, UnsupportedEncodingException
{
DateFormat dF = new SimpleDateFormat("yyyy_MM_dd_HH-mm");
Date today = new Date();
outputLog = new PrintWriter((dF.format(today) + ".log"), "UTF-8");
}
private static void Write(String status, LogFilter filter, String body)
{
System.out.println("[" + status + "] " + "[" + filter.name() + "] " + body);
String logLine = "[" + status + "] " + "[" + filter.name() + "] " + body;
outputLog.write(logLine + "\n");
outputLog.flush();
System.out.println(logLine);
}
public static void Log(String msg) { Write(log, LogFilter.Debug, msg); }