diff --git a/assets/teey/frames/teey 0.png b/assets/teey/frames/teey 0.png new file mode 100644 index 0000000..571a7b7 Binary files /dev/null and b/assets/teey/frames/teey 0.png differ diff --git a/assets/teey/frames/teey 1.png b/assets/teey/frames/teey 1.png new file mode 100644 index 0000000..c2ebcae Binary files /dev/null and b/assets/teey/frames/teey 1.png differ diff --git a/assets/teey/frames/teey 10.png b/assets/teey/frames/teey 10.png new file mode 100644 index 0000000..6d1ef61 Binary files /dev/null and b/assets/teey/frames/teey 10.png differ diff --git a/assets/teey/frames/teey 11.png b/assets/teey/frames/teey 11.png new file mode 100644 index 0000000..205094c Binary files /dev/null and b/assets/teey/frames/teey 11.png differ diff --git a/assets/teey/frames/teey 12.png b/assets/teey/frames/teey 12.png new file mode 100644 index 0000000..ff584a5 Binary files /dev/null and b/assets/teey/frames/teey 12.png differ diff --git a/assets/teey/frames/teey 13.png b/assets/teey/frames/teey 13.png new file mode 100644 index 0000000..d5d540b Binary files /dev/null and b/assets/teey/frames/teey 13.png differ diff --git a/assets/teey/frames/teey 14.png b/assets/teey/frames/teey 14.png new file mode 100644 index 0000000..911e2ce Binary files /dev/null and b/assets/teey/frames/teey 14.png differ diff --git a/assets/teey/frames/teey 15.png b/assets/teey/frames/teey 15.png new file mode 100644 index 0000000..68a0c93 Binary files /dev/null and b/assets/teey/frames/teey 15.png differ diff --git a/assets/teey/frames/teey 16.png b/assets/teey/frames/teey 16.png new file mode 100644 index 0000000..9cfe7c1 Binary files /dev/null and b/assets/teey/frames/teey 16.png differ diff --git a/assets/teey/frames/teey 17.png b/assets/teey/frames/teey 17.png new file mode 100644 index 0000000..0959b54 Binary files /dev/null and b/assets/teey/frames/teey 17.png differ diff --git a/assets/teey/frames/teey 18.png b/assets/teey/frames/teey 18.png new file mode 100644 index 0000000..febf7f7 Binary files /dev/null and b/assets/teey/frames/teey 18.png differ diff --git a/assets/teey/frames/teey 19.png b/assets/teey/frames/teey 19.png new file mode 100644 index 0000000..d1eaa98 Binary files /dev/null and b/assets/teey/frames/teey 19.png differ diff --git a/assets/teey/frames/teey 2.png b/assets/teey/frames/teey 2.png new file mode 100644 index 0000000..d3146fd Binary files /dev/null and b/assets/teey/frames/teey 2.png differ diff --git a/assets/teey/frames/teey 20.png b/assets/teey/frames/teey 20.png new file mode 100644 index 0000000..b6c4089 Binary files /dev/null and b/assets/teey/frames/teey 20.png differ diff --git a/assets/teey/frames/teey 21.png b/assets/teey/frames/teey 21.png new file mode 100644 index 0000000..e89dc8d Binary files /dev/null and b/assets/teey/frames/teey 21.png differ diff --git a/assets/teey/frames/teey 22.png b/assets/teey/frames/teey 22.png new file mode 100644 index 0000000..ca4ce04 Binary files /dev/null and b/assets/teey/frames/teey 22.png differ diff --git a/assets/teey/frames/teey 23.png b/assets/teey/frames/teey 23.png new file mode 100644 index 0000000..4646793 Binary files /dev/null and b/assets/teey/frames/teey 23.png differ diff --git a/assets/teey/frames/teey 3.png b/assets/teey/frames/teey 3.png new file mode 100644 index 0000000..2a21759 Binary files /dev/null and b/assets/teey/frames/teey 3.png differ diff --git a/assets/teey/frames/teey 4.png b/assets/teey/frames/teey 4.png new file mode 100644 index 0000000..657b6bc Binary files /dev/null and b/assets/teey/frames/teey 4.png differ diff --git a/assets/teey/frames/teey 5.png b/assets/teey/frames/teey 5.png new file mode 100644 index 0000000..3a19846 Binary files /dev/null and b/assets/teey/frames/teey 5.png differ diff --git a/assets/teey/frames/teey 6.png b/assets/teey/frames/teey 6.png new file mode 100644 index 0000000..8997f49 Binary files /dev/null and b/assets/teey/frames/teey 6.png differ diff --git a/assets/teey/frames/teey 7.png b/assets/teey/frames/teey 7.png new file mode 100644 index 0000000..683d00a Binary files /dev/null and b/assets/teey/frames/teey 7.png differ diff --git a/assets/teey/frames/teey 8.png b/assets/teey/frames/teey 8.png new file mode 100644 index 0000000..b51c7e2 Binary files /dev/null and b/assets/teey/frames/teey 8.png differ diff --git a/assets/teey/frames/teey 9.png b/assets/teey/frames/teey 9.png new file mode 100644 index 0000000..e69440e Binary files /dev/null and b/assets/teey/frames/teey 9.png differ diff --git a/localization.config b/localization.config index 9b38c19..e668f20 100644 --- a/localization.config +++ b/localization.config @@ -59,6 +59,9 @@ You successfully voted for= [CommandShutdown] Stops kitty. `-s` or `safe` as an argument attempts to sync off the database before shutdown.= +[CommandTeey] +Teey yourself back into existance, or teey a friend with @!= + [CommandBetBeans] That's not a valid bet!= Please bet with at least 50 beans!= diff --git a/src/commands/CommandTeey.java b/src/commands/CommandTeey.java new file mode 100644 index 0000000..44e3d19 --- /dev/null +++ b/src/commands/CommandTeey.java @@ -0,0 +1,71 @@ +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); + } +} diff --git a/src/commands/CommandYeet.java b/src/commands/CommandYeet.java index 33eda5d..b9f9195 100644 --- a/src/commands/CommandYeet.java +++ b/src/commands/CommandYeet.java @@ -17,7 +17,6 @@ import utils.ImageUtils; public class CommandYeet extends Command { - // Required constructor public CommandYeet(KittyRole level, KittyRating rating) { super(level, rating); } @@ -45,13 +44,9 @@ public class CommandYeet extends Command KittyUser person = null; if(input.mentions == null) - { person = user; - } else - { person = input.mentions[0]; - } String yeeteeFilename = ImageUtils.DownloadFromURL(person.avatarID, ".png"); if(yeeteeFilename == null) diff --git a/src/core/ObjectBuilderFactory.java b/src/core/ObjectBuilderFactory.java index 448e3cf..e568f71 100644 --- a/src/core/ObjectBuilderFactory.java +++ b/src/core/ObjectBuilderFactory.java @@ -300,6 +300,7 @@ public class ObjectBuilderFactory manager.Register("givebeans", new CommandGiveBeans(KittyRole.Mod, KittyRating.Safe)); manager.Register("rpg", new CommandRPG(KittyRole.Mod, KittyRating.Safe)); + manager.Register("teey", new CommandTeey(KittyRole.General, KittyRating.Safe)); manager.Register(new String[]{"perish", "thenperish"}, new CommandPerish(KittyRole.General, KittyRating.Safe)); manager.Register("yeet", new CommandYeet(KittyRole.General, KittyRating.Safe)); manager.Register("ping", new CommandPing(KittyRole.General, KittyRating.Safe));