Merge remote-tracking branch 'origin/develop' into feature/collapsed_configs

This commit is contained in:
Matthew Cech
2019-06-30 00:24:05 -07:00
71 changed files with 798 additions and 244 deletions
+72
View File
@@ -0,0 +1,72 @@
package commands.general;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import core.Command;
import core.Constants;
import core.LocStrings;
import dataStructures.KittyChannel;
import dataStructures.KittyGuild;
import dataStructures.KittyRating;
import dataStructures.KittyRole;
import dataStructures.KittyUser;
import dataStructures.Response;
import dataStructures.UserInput;
import utils.ImageOverlayBuilder;
import utils.ImageUtils;
public class CommandYeet extends Command
{
// Required constructor
public CommandYeet(KittyRole level, KittyRating rating) { super(level, rating); }
private static Long num = 0l;
@Override
public String getHelpText() { return LocStrings.stub("YeetInfo"); }
// Called when the command is run!
@Override
public void onRun(KittyGuild guild, KittyChannel channel, KittyUser user, UserInput input, Response res)
{
String name = null;
File yeetFile = null;
File yeeteeFile = null;
synchronized(num)
{
name = "yeet_" + num + ".gif";
++num;
}
try
{
KittyUser person = null;
if(input.mentions == null)
person = user;
else
person = input.mentions[0];
String yeeteeFilename = ImageUtils.downloadFromURL(person.avatarID, ".png");
if(yeeteeFilename == null)
return;
yeeteeFile = new File(yeeteeFilename);
ImageOverlayBuilder builder = new ImageOverlayBuilder(Constants.AssetDirectory + "yeet/frames/", "yeet ", 24, 18);
builder.overlay(ImageIO.read(yeeteeFile), name);
}
catch (IOException e)
{
e.printStackTrace();
}
yeetFile = new File (name);
res.sendFile(yeetFile, "gif");
// Thread cleanup...
ImageUtils.blockingFileDelete(yeetFile);
ImageUtils.blockingFileDelete(yeeteeFile);
}
}