Files
KittyBot/src/commands/CommandTeey.java
T
2019-04-13 13:29:46 -07:00

72 lines
1.7 KiB
Java

package commands;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import core.Command;
import core.Localizer;
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 CommandTeey extends Command
{
// Required constructor
public CommandTeey(KittyRole level, KittyRating rating) { super(level, rating); }
private static Long num = 0l;
@Override
public String HelpText() { return Localizer.Stub("Teey yourself back into existance, or teey a friend with @!"); }
// Called when the command is run!
@Override
public void OnRun(KittyGuild guild, KittyChannel channel, KittyUser user, UserInput input, Response res)
{
String name = null;
File teeyFile = null;
File teeyeeFile = null;
synchronized(num)
{
name = "teey_" + 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;
teeyeeFile = new File(yeeteeFilename);
ImageOverlayBuilder builder = new ImageOverlayBuilder("assets/teey/frames/", "teey ", 24, 18);
builder.Overlay(ImageIO.read(teeyeeFile), name);
}
catch (IOException e)
{
e.printStackTrace();
}
teeyFile = new File (name);
res.CallFile(teeyFile, "gif");
// Thread cleanup...
ImageUtils.BlockingFileDelete(teeyFile);
ImageUtils.BlockingFileDelete(teeyeeFile);
}
}