Search in sources :

Example 11 with Colour

use of com.sx4.bot.annotations.argument.Colour in project Sx4 by sx4-discord-bot.

the class ServerAvatarCommand method onCommand.

public void onCommand(Sx4CommandEvent event) {
    String icon = event.getGuild().getIconUrl();
    if (icon == null) {
        event.replyFailure("This server does not have an icon").queue();
        return;
    }
    Request request = new ImageRequest(event.getConfig().getImageWebserverUrl("median-colour")).addQuery("image", icon).build(event.getConfig().getImageWebserver());
    event.getHttpClient().newCall(request).enqueue((HttpCallback) response -> {
        if (!response.isSuccessful()) {
            ImageUtility.getErrorMessage(event.getTextChannel(), response.code(), response.body().string()).queue();
            return;
        }
        Document data = Document.parse(response.body().string());
        String sizedIcon = icon + "?size=1024";
        EmbedBuilder embed = new EmbedBuilder().setImage(sizedIcon).setColor(data.getInteger("colour")).setAuthor(event.getGuild().getName(), sizedIcon, sizedIcon);
        event.reply(embed.build()).queue();
    });
}
Also used : Document(org.bson.Document) ModuleCategory(com.sx4.bot.category.ModuleCategory) Request(okhttp3.Request) ImageRequest(com.sx4.bot.entities.image.ImageRequest) HttpCallback(com.sx4.bot.http.HttpCallback) ImageUtility(com.sx4.bot.utility.ImageUtility) Sx4Command(com.sx4.bot.core.Sx4Command) Sx4CommandEvent(com.sx4.bot.core.Sx4CommandEvent) Permission(net.dv8tion.jda.api.Permission) EmbedBuilder(net.dv8tion.jda.api.EmbedBuilder) EmbedBuilder(net.dv8tion.jda.api.EmbedBuilder) ImageRequest(com.sx4.bot.entities.image.ImageRequest) Request(okhttp3.Request) ImageRequest(com.sx4.bot.entities.image.ImageRequest) Document(org.bson.Document)

Aggregations

Sx4Command (com.sx4.bot.core.Sx4Command)10 ModuleCategory (com.sx4.bot.category.ModuleCategory)9 Sx4CommandEvent (com.sx4.bot.core.Sx4CommandEvent)9 ImageRequest (com.sx4.bot.entities.image.ImageRequest)9 HttpCallback (com.sx4.bot.http.HttpCallback)9 Permission (net.dv8tion.jda.api.Permission)9 Request (okhttp3.Request)9 Document (org.bson.Document)9 Argument (com.jockie.bot.core.argument.Argument)8 ImageUtility (com.sx4.bot.utility.ImageUtility)8 EmbedBuilder (net.dv8tion.jda.api.EmbedBuilder)5 ColourUtility (com.sx4.bot.utility.ColourUtility)4 ImageUrl (com.sx4.bot.annotations.argument.ImageUrl)3 Member (net.dv8tion.jda.api.entities.Member)3 User (net.dv8tion.jda.api.entities.User)3 Command (com.jockie.bot.core.command.Command)2 Option (com.jockie.bot.core.option.Option)2 Colour (com.sx4.bot.annotations.argument.Colour)2 MongoDatabase (com.sx4.bot.database.mongo.MongoDatabase)2 Operators (com.sx4.bot.database.mongo.model.Operators)2