Warning: session_start(): open(/var/lib/php/sessions/sess_ihbocmu3j6rc1sbngrmm3r6fq9, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
!include once #1026298 // use JDA 4.0
standardBot1 TomiiBoiDiscordBot {
allServers {
switchable S backendName = "tomiiBoiQA";
//switchable bool newVersion = true;
void grabChannels {
print("Grabbing channels");
for (Guild guild : discord.getGuilds()) {
virtual Server server = guildToServer(guild);
for (GuildChannel c : guild.getChannels())
dm_call(backendName, "addChannel", server, str(c.getIdLong()), c.getName());
}
}
virtual Server guildToServer(Guild guild) {
ret guild == null ? null
: dm_callOpt(backendName, "addServer", str(guild.getIdLong()), guild.getName());
}
}
init {
if (myName == null) setField(myName := "Tomii");
preprocessAtSelfToMyName = true;
dropPunctuation = false;
escapeAtEveryone = true;
reactToBots = false;
dm_registerAs("tomiiBoiDiscordBot");
}
sync S processSimplifiedLine(S s, O... _) {
try answer super.processSimplifiedLine(s, _);
new Matches m;
if (swic_trim(s, "gbot:", m))
ret gbot(m.rest(), paramsToMap(_));
O dbBot = dm_mainClass(backendName);
temp tempSetTL((ThreadLocal) getOpt(dbBot, 'opt_noDefault), true);
optPar Message msg;
// channel logic
MessageChannel channel = msg.getChannel();
if (channel != null) {
virtual Channel backendChannel = dm_call(backendName, "channelForID", str(channel.getIdLong()));
if (isFalse(getOpt botEnabled(backendChannel))) null;
}
// guild logic
Guild guild = msg == null ? null : msg.getGuild();
// add guild to server list
virtual Server server = guildToServer(guild);
//if (newVersion)
if (swic(s, "!zocken ", m)) {
S game = m.rest();
if (eqicOneOf(game, "league", "lol"))
game = "League of Legends";
long id = msg.getMember().getIdLong();
ret "@here " + discordAt(id) + " will " + game + " zocken!";
}
ret (S) call(dbBot, "answer", s, +server);
/*Cl categories = dm_callOpt(backendName, "categoriesForServer", server);
temp tempSetTL((ThreadLocal) getOpt(dbBot, "categoriesForRequest"), categories);
ret (S) call(dbBot, 'answer, s, "en");*/
}
S gbot(S query, Map map, O... _) {
LS l = regexpICFullMatch_groups("(\\d+) results? for[ :](.+)", query);
int results = 1;
if (l != null) {
results = parseInt(first(l));
query = unquote(trim(last(l)));
}
bool safeSearch = !discord_isNSFWChannel_gen(map.get('channel));
ret discord_google(query, paramsPlus(_, +results, +safeSearch));
}
}