commit
999663eeb7
@ -9,7 +9,7 @@ plugins {
|
||||
}
|
||||
|
||||
group 'dev.salmonllama'
|
||||
version '2.0.0'
|
||||
version '2.0.1'
|
||||
|
||||
sourceCompatibility = 11
|
||||
|
||||
|
@ -37,8 +37,8 @@ public class Main {
|
||||
api.addMessageCreateListener(new AchievementListener());
|
||||
api.addMessageCreateListener(new ReportListener());
|
||||
|
||||
System.out.println(String.format("Bot invite: %s", api.createBotInvite()));
|
||||
System.out.println(String.format("Logged in as %s", api.getYourself().getDiscriminatedName()));
|
||||
System.out.printf("Bot invite: %s%n", api.createBotInvite());
|
||||
System.out.printf("Logged in as %s%n", api.getYourself().getDiscriminatedName());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,6 @@
|
||||
|
||||
package dev.salmonllama.fsbot.commands.staff;
|
||||
|
||||
import dev.salmonllama.fsbot.config.BotConfig;
|
||||
import dev.salmonllama.fsbot.database.controllers.OutfitController;
|
||||
import dev.salmonllama.fsbot.guthix.Command;
|
||||
import dev.salmonllama.fsbot.guthix.CommandContext;
|
||||
|
@ -71,8 +71,9 @@ public class RemoveOutfitCommand extends Command {
|
||||
EmbedBuilder response = new EmbedBuilder()
|
||||
.setTitle("Deletion Successful!")
|
||||
.setDescription(String.format("Outfit %s marked as deleted", outfit.getId()));
|
||||
|
||||
msg.delete();
|
||||
ctx.reply(response);
|
||||
// TODO: Log the action in FSBot-Log
|
||||
|
||||
EmbedBuilder log = new EmbedBuilder()
|
||||
.setTitle("Outfit Marked as Deleted")
|
||||
|
@ -79,7 +79,6 @@ public class RetagCommand extends Command {
|
||||
|
||||
msg.delete();
|
||||
ctx.reply(embed);
|
||||
// TODO: Log the action in FSBot-log
|
||||
|
||||
EmbedBuilder log = new EmbedBuilder()
|
||||
.setTitle("Outfit Retagged")
|
||||
|
@ -13,6 +13,7 @@ import dev.salmonllama.fsbot.guthix.CommandContext;
|
||||
import dev.salmonllama.fsbot.guthix.CommandPermission;
|
||||
import dev.salmonllama.fsbot.guthix.PermissionType;
|
||||
import org.javacord.api.entity.message.embed.EmbedBuilder;
|
||||
import org.javacord.api.util.logging.ExceptionLogger;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@ -42,61 +43,72 @@ public class WelcomeMessageCommand extends Command {
|
||||
switch (args[0]) {
|
||||
case "get":
|
||||
get(ctx);
|
||||
break;
|
||||
case "set": // TODO: check for args here
|
||||
set(ctx, args[1]);
|
||||
String newMsg = String.join(" ", Arrays.copyOfRange(args, 1, args.length));
|
||||
set(ctx, newMsg);
|
||||
break;
|
||||
default:
|
||||
ctx.reply("You used this command incorrectly.");
|
||||
}
|
||||
}
|
||||
|
||||
private void get(CommandContext ctx) {
|
||||
ServerConfigController.get(ctx.getServer().get().getIdAsString()).thenAcceptAsync(possibleConf -> {
|
||||
possibleConf.ifPresentOrElse(conf -> {
|
||||
EmbedBuilder response = new EmbedBuilder()
|
||||
.setTitle("Current Welcome Message")
|
||||
.setDescription(conf.getWelcomeMessage());
|
||||
ctx.getServer().ifPresent( // If server is present (not private message) get the server config
|
||||
server -> ServerConfigController.get(server.getIdAsString()).thenAcceptAsync(
|
||||
possibleConf -> possibleConf.ifPresentOrElse( // Check for current server config
|
||||
conf -> ctx.reply(getMsg(conf)), // Fetch and send the current welcome message
|
||||
() -> ctx.reply(notFound()) // No welcome message exists, sorrynotsorry
|
||||
)
|
||||
));
|
||||
}
|
||||
|
||||
ctx.reply(response);
|
||||
}, () -> {
|
||||
EmbedBuilder response = new EmbedBuilder()
|
||||
.setTitle("Does not exist!")
|
||||
.setDescription("No welcome message was found! use `~wmsg set` to set one!");
|
||||
private EmbedBuilder getMsg(ServerConfig config) {
|
||||
return new EmbedBuilder()
|
||||
.setTitle("Current Welcome Message")
|
||||
.setDescription(config.getWelcomeMessage());
|
||||
}
|
||||
|
||||
ctx.reply(response);
|
||||
});
|
||||
});
|
||||
private EmbedBuilder notFound() {
|
||||
return new EmbedBuilder()
|
||||
.setTitle("Does not exist!")
|
||||
.setDescription("No welcome message was found! use `~wmsg set` to set one!");
|
||||
}
|
||||
|
||||
private void set(CommandContext ctx, String newMsg) {
|
||||
ServerConfigController.get(ctx.getServer().get().getIdAsString()).thenAcceptAsync(possibleConf -> {
|
||||
possibleConf.ifPresentOrElse(conf -> {
|
||||
// Update the config
|
||||
ServerConfig config = new ServerConfig.ServerConfigBuilder().from(conf)
|
||||
.setWelcomeMessage(newMsg)
|
||||
.build();
|
||||
ctx.getServer().ifPresent( // If server is present (private msg check) get the server's config
|
||||
server -> ServerConfigController.get(server.getIdAsString()).thenAcceptAsync( // Check for a current server config
|
||||
possibleConf -> possibleConf.ifPresentOrElse(
|
||||
conf -> ctx.reply(updateMsg(conf, newMsg)), // Config exists, update with new welcome message
|
||||
() -> ctx.reply(setNewMsg(server.getIdAsString(), newMsg))))); // Config does not exist, init and add new welcome message
|
||||
}
|
||||
|
||||
ServerConfigController.update(config);
|
||||
private EmbedBuilder updateMsg(ServerConfig conf, String newMsg) {
|
||||
// Updates a welcome message from an already existing server config
|
||||
ServerConfig config = new ServerConfig.ServerConfigBuilder().from(conf)
|
||||
.setWelcomeMessage(newMsg)
|
||||
.build();
|
||||
|
||||
EmbedBuilder response = new EmbedBuilder()
|
||||
.setTitle("Welcome Message Set")
|
||||
.addField("New Welcome Message:", config.getWelcomeMessage());
|
||||
ServerConfigController.update(config).exceptionally(ExceptionLogger.get()); // TODO: Write a discord Throwable consumer like this
|
||||
|
||||
ctx.reply(response);
|
||||
}, () -> {
|
||||
// Create a config and set the welcome message
|
||||
ServerConfig config = new ServerConfig.ServerConfigBuilder()
|
||||
.setId(ctx.getServer().get().getIdAsString())
|
||||
.setPrefix(BotConfig.DEFAULT_PREFIX)
|
||||
.setWelcomeMessage(newMsg)
|
||||
.build();
|
||||
return new EmbedBuilder()
|
||||
.setTitle("Welcome Message Set")
|
||||
.addField("New Welcome Message:", config.getWelcomeMessage());
|
||||
}
|
||||
|
||||
ServerConfigController.insert(config);
|
||||
private EmbedBuilder setNewMsg(String serverId, String newMsg) {
|
||||
// Creates a new server config and adds a welcome message
|
||||
ServerConfig config = new ServerConfig.ServerConfigBuilder()
|
||||
.setId(serverId)
|
||||
.setPrefix(BotConfig.DEFAULT_PREFIX)
|
||||
.setWelcomeMessage(newMsg)
|
||||
.build();
|
||||
|
||||
EmbedBuilder response = new EmbedBuilder()
|
||||
.setTitle("Welcome Message Set!")
|
||||
.setDescription("server conf has been created")
|
||||
.addField("New Welcome Message:", newMsg);
|
||||
ServerConfigController.insert(config);
|
||||
|
||||
ctx.reply(response);
|
||||
});
|
||||
});
|
||||
return new EmbedBuilder()
|
||||
.setTitle("Welcome Message Set!")
|
||||
.setDescription("server conf has been created")
|
||||
.addField("New Welcome Message:", newMsg);
|
||||
}
|
||||
}
|
||||
|
@ -28,7 +28,8 @@ public class DatabaseProvider {
|
||||
SQLiteConnectionPoolDataSource dataSource = new SQLiteConnectionPoolDataSource();
|
||||
dataSource.setDatabaseName(DB_NAME);
|
||||
dataSource.setUrl(DB_ADDR);
|
||||
return dataSource.getConnection();
|
||||
c = dataSource.getConnection();
|
||||
return c;
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
System.out.println("Could not connect to database, double check config values");
|
||||
@ -58,6 +59,8 @@ public class DatabaseProvider {
|
||||
}
|
||||
else if (p instanceof Timestamp) {
|
||||
query.setTimestamp(index, (Timestamp) p);
|
||||
} else if (p == null) {
|
||||
query.setNull(index, Types.NULL);
|
||||
} else {
|
||||
throw new UnknownParameterException(p, index);
|
||||
}
|
||||
|
@ -402,7 +402,7 @@ public class OutfitController {
|
||||
.setTag(rs.getString("tag"))
|
||||
.setMeta(rs.getString("meta"))
|
||||
.setCreated(new Timestamp(rs.getLong("created")))
|
||||
.setUpdated(new Timestamp((rs.getLong("updated"))))
|
||||
.setUpdated(new Timestamp(rs.getLong("updated")))
|
||||
.setDeleted(rs.getBoolean("deleted"))
|
||||
.setFeatured(rs.getBoolean("featured"))
|
||||
.setDisplayCount(rs.getInt("display_count"))
|
||||
|
@ -72,7 +72,7 @@ public class ServerConfigController {
|
||||
}
|
||||
|
||||
private static void updateExec(ServerConfig config) throws SQLException {
|
||||
FSDB.get().query("UPDATE server_config SET prefix = ?, welcome_message = ?, welcome_channel = ?, WHERE id = ?",
|
||||
FSDB.get().query("UPDATE server_config SET prefix = ?, welcome_message = ?, welcome_channel = ? WHERE id = ?",
|
||||
config.getPrefix(),
|
||||
config.getWelcomeMessage(),
|
||||
config.getWelcomeChannel(),
|
||||
|
@ -17,8 +17,6 @@ import org.javacord.api.event.message.MessageCreateEvent;
|
||||
import org.javacord.api.listener.message.MessageCreateListener;
|
||||
import org.javacord.api.util.logging.ExceptionLogger;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
|
||||
public class ImageListener implements MessageCreateListener {
|
||||
|
||||
@Override
|
||||
@ -57,8 +55,7 @@ public class ImageListener implements MessageCreateListener {
|
||||
.setMeta(event.getMessageContent())
|
||||
.setLink(upload.getLink())
|
||||
.setSubmitter(event.getMessageAuthor().getIdAsString())
|
||||
.setDeleteHash(upload.getDeleteHash())
|
||||
.setCreated(new Timestamp(upload.getDateTime()));
|
||||
.setDeleteHash(upload.getDeleteHash());
|
||||
|
||||
GalleryController.getTag(channel.getIdAsString()).thenAccept(tag -> {
|
||||
outfitBuilder.setTag(tag);
|
||||
|
@ -6,6 +6,7 @@
|
||||
package dev.salmonllama.fsbot.listeners;
|
||||
|
||||
import dev.salmonllama.fsbot.config.BotConfig;
|
||||
import dev.salmonllama.fsbot.database.controllers.ServerConfigController;
|
||||
import org.javacord.api.event.server.member.ServerMemberJoinEvent;
|
||||
import org.javacord.api.listener.server.member.ServerMemberJoinListener;
|
||||
|
||||
@ -14,11 +15,14 @@ public class NewMemberListener implements ServerMemberJoinListener {
|
||||
public void onServerMemberJoin(ServerMemberJoinEvent event) {
|
||||
|
||||
if (!event.getServer().getIdAsString().equals(BotConfig.HOME_SERVER)) {
|
||||
// Only active in the Fashionscape server, currently.
|
||||
return;
|
||||
}
|
||||
|
||||
// String logMessage = String.format(welcomeMsg, event.getUser().getMentionTag());
|
||||
|
||||
event.getApi().getServerTextChannelById(BotConfig.WELCOME_CHANNEL).ifPresent(channel -> channel.sendMessage("Welcome!"));
|
||||
// TODO: Use the ServerConfig to retrieve the welcome channel as well.
|
||||
event.getApi().getServerTextChannelById(BotConfig.WELCOME_CHANNEL).ifPresent( // Get the Welcome Channel
|
||||
channel -> ServerConfigController.get(event.getServer().getIdAsString()).thenAcceptAsync( // Fetch the server config, if set.
|
||||
possibleConfig -> possibleConfig.ifPresent( // If config exists
|
||||
config -> channel.sendMessage(String.format(config.getWelcomeMessage(), event.getUser().getMentionTag()))))); // Send the welcome message
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user