From 4d1cbe3b05483d6342a22572cca4d1bc8c41d73b Mon Sep 17 00:00:00 2001
From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com>
Date: Tue, 31 Oct 2017 14:14:34 +0000
Subject: [PATCH] Addition of telnet SendMail handler.
---
.../data/scripts/handlers/MasterHandler.java | 2 +
.../telnethandlers/player/SendMail.java | 87 +++++++++++++++++++
.../data/scripts/handlers/MasterHandler.java | 2 +
.../telnethandlers/player/SendMail.java | 87 +++++++++++++++++++
.../data/scripts/handlers/MasterHandler.java | 2 +
.../telnethandlers/player/SendMail.java | 87 +++++++++++++++++++
.../data/scripts/handlers/MasterHandler.java | 2 +
.../telnethandlers/player/SendMail.java | 87 +++++++++++++++++++
8 files changed, 356 insertions(+)
create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java
create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java
create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java
create mode 100644 L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/MasterHandler.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/MasterHandler.java
index 7734a190bf..666585bcab 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/MasterHandler.java
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/MasterHandler.java
@@ -296,6 +296,7 @@ import handlers.telnethandlers.player.GMList;
import handlers.telnethandlers.player.Give;
import handlers.telnethandlers.player.Jail;
import handlers.telnethandlers.player.Kick;
+import handlers.telnethandlers.player.SendMail;
import handlers.telnethandlers.player.Unban;
import handlers.telnethandlers.player.UnbanChat;
import handlers.telnethandlers.player.Unjail;
@@ -744,6 +745,7 @@ public class MasterHandler
TelnetServer.getInstance().addHandler(new Performance());
TelnetServer.getInstance().addHandler(new Purge());
TelnetServer.getInstance().addHandler(new Reload());
+ TelnetServer.getInstance().addHandler(new SendMail());
TelnetServer.getInstance().addHandler(new ServerAbort());
TelnetServer.getInstance().addHandler(new ServerRestart());
TelnetServer.getInstance().addHandler(new ServerShutdown());
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java
new file mode 100644
index 0000000000..3b9fa77dec
--- /dev/null
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java
@@ -0,0 +1,87 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package handlers.telnethandlers.player;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.l2jmobius.gameserver.data.sql.impl.CharNameTable;
+import com.l2jmobius.gameserver.enums.MailType;
+import com.l2jmobius.gameserver.instancemanager.MailManager;
+import com.l2jmobius.gameserver.model.entity.Message;
+import com.l2jmobius.gameserver.model.itemcontainer.Mail;
+import com.l2jmobius.gameserver.network.telnet.ITelnetCommand;
+import com.l2jmobius.gameserver.util.Util;
+
+import io.netty.channel.ChannelHandlerContext;
+
+/**
+ * @author Mobius
+ */
+public class SendMail implements ITelnetCommand
+{
+ @Override
+ public String getCommand()
+ {
+ return "sendmail";
+ }
+
+ @Override
+ public String getUsage()
+ {
+ return "sendmail - ";
+ }
+
+ @Override
+ public String handle(ChannelHandlerContext ctx, String[] args)
+ {
+ if ((args.length < 3) || args[0].isEmpty())
+ {
+ return null;
+ }
+ final int objectId = CharNameTable.getInstance().getIdByName(args[0]);
+ if (objectId > 0)
+ {
+ final Message msg = new Message(objectId, args[1].replace("_", " "), args[2].replace("_", " "), args.length > 3 ? MailType.PRIME_SHOP_GIFT : MailType.REGULAR);
+ final List itemIds = new ArrayList<>();
+ int counter = -1;
+ for (String str : args)
+ {
+ counter++;
+ if (counter < 3)
+ {
+ continue;
+ }
+ if (Util.isDigit(str))
+ {
+ itemIds.add(Integer.valueOf(str));
+ }
+ }
+ if (!itemIds.isEmpty())
+ {
+ final Mail attachments = msg.createAttachments();
+ for (int itemId : itemIds)
+ {
+ attachments.addItem("Telnet", itemId, 1, null, null);
+ }
+ }
+ MailManager.getInstance().sendMessage(msg);
+ return "An ingame mail has been sent to " + args[0] + ".";
+ }
+ return "Couldn't find player with such name.";
+ }
+}
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/MasterHandler.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/MasterHandler.java
index fb88adefe6..01015c4d55 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/MasterHandler.java
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/MasterHandler.java
@@ -297,6 +297,7 @@ import handlers.telnethandlers.player.GMList;
import handlers.telnethandlers.player.Give;
import handlers.telnethandlers.player.Jail;
import handlers.telnethandlers.player.Kick;
+import handlers.telnethandlers.player.SendMail;
import handlers.telnethandlers.player.Unban;
import handlers.telnethandlers.player.UnbanChat;
import handlers.telnethandlers.player.Unjail;
@@ -746,6 +747,7 @@ public class MasterHandler
TelnetServer.getInstance().addHandler(new Performance());
TelnetServer.getInstance().addHandler(new Purge());
TelnetServer.getInstance().addHandler(new Reload());
+ TelnetServer.getInstance().addHandler(new SendMail());
TelnetServer.getInstance().addHandler(new ServerAbort());
TelnetServer.getInstance().addHandler(new ServerRestart());
TelnetServer.getInstance().addHandler(new ServerShutdown());
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java
new file mode 100644
index 0000000000..3b9fa77dec
--- /dev/null
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java
@@ -0,0 +1,87 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package handlers.telnethandlers.player;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.l2jmobius.gameserver.data.sql.impl.CharNameTable;
+import com.l2jmobius.gameserver.enums.MailType;
+import com.l2jmobius.gameserver.instancemanager.MailManager;
+import com.l2jmobius.gameserver.model.entity.Message;
+import com.l2jmobius.gameserver.model.itemcontainer.Mail;
+import com.l2jmobius.gameserver.network.telnet.ITelnetCommand;
+import com.l2jmobius.gameserver.util.Util;
+
+import io.netty.channel.ChannelHandlerContext;
+
+/**
+ * @author Mobius
+ */
+public class SendMail implements ITelnetCommand
+{
+ @Override
+ public String getCommand()
+ {
+ return "sendmail";
+ }
+
+ @Override
+ public String getUsage()
+ {
+ return "sendmail
- ";
+ }
+
+ @Override
+ public String handle(ChannelHandlerContext ctx, String[] args)
+ {
+ if ((args.length < 3) || args[0].isEmpty())
+ {
+ return null;
+ }
+ final int objectId = CharNameTable.getInstance().getIdByName(args[0]);
+ if (objectId > 0)
+ {
+ final Message msg = new Message(objectId, args[1].replace("_", " "), args[2].replace("_", " "), args.length > 3 ? MailType.PRIME_SHOP_GIFT : MailType.REGULAR);
+ final List itemIds = new ArrayList<>();
+ int counter = -1;
+ for (String str : args)
+ {
+ counter++;
+ if (counter < 3)
+ {
+ continue;
+ }
+ if (Util.isDigit(str))
+ {
+ itemIds.add(Integer.valueOf(str));
+ }
+ }
+ if (!itemIds.isEmpty())
+ {
+ final Mail attachments = msg.createAttachments();
+ for (int itemId : itemIds)
+ {
+ attachments.addItem("Telnet", itemId, 1, null, null);
+ }
+ }
+ MailManager.getInstance().sendMessage(msg);
+ return "An ingame mail has been sent to " + args[0] + ".";
+ }
+ return "Couldn't find player with such name.";
+ }
+}
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/MasterHandler.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/MasterHandler.java
index edb2d9847f..3c72228c33 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/MasterHandler.java
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/MasterHandler.java
@@ -298,6 +298,7 @@ import handlers.telnethandlers.player.GMList;
import handlers.telnethandlers.player.Give;
import handlers.telnethandlers.player.Jail;
import handlers.telnethandlers.player.Kick;
+import handlers.telnethandlers.player.SendMail;
import handlers.telnethandlers.player.Unban;
import handlers.telnethandlers.player.UnbanChat;
import handlers.telnethandlers.player.Unjail;
@@ -748,6 +749,7 @@ public class MasterHandler
TelnetServer.getInstance().addHandler(new Performance());
TelnetServer.getInstance().addHandler(new Purge());
TelnetServer.getInstance().addHandler(new Reload());
+ TelnetServer.getInstance().addHandler(new SendMail());
TelnetServer.getInstance().addHandler(new ServerAbort());
TelnetServer.getInstance().addHandler(new ServerRestart());
TelnetServer.getInstance().addHandler(new ServerShutdown());
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java
new file mode 100644
index 0000000000..3b9fa77dec
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java
@@ -0,0 +1,87 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package handlers.telnethandlers.player;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.l2jmobius.gameserver.data.sql.impl.CharNameTable;
+import com.l2jmobius.gameserver.enums.MailType;
+import com.l2jmobius.gameserver.instancemanager.MailManager;
+import com.l2jmobius.gameserver.model.entity.Message;
+import com.l2jmobius.gameserver.model.itemcontainer.Mail;
+import com.l2jmobius.gameserver.network.telnet.ITelnetCommand;
+import com.l2jmobius.gameserver.util.Util;
+
+import io.netty.channel.ChannelHandlerContext;
+
+/**
+ * @author Mobius
+ */
+public class SendMail implements ITelnetCommand
+{
+ @Override
+ public String getCommand()
+ {
+ return "sendmail";
+ }
+
+ @Override
+ public String getUsage()
+ {
+ return "sendmail
- ";
+ }
+
+ @Override
+ public String handle(ChannelHandlerContext ctx, String[] args)
+ {
+ if ((args.length < 3) || args[0].isEmpty())
+ {
+ return null;
+ }
+ final int objectId = CharNameTable.getInstance().getIdByName(args[0]);
+ if (objectId > 0)
+ {
+ final Message msg = new Message(objectId, args[1].replace("_", " "), args[2].replace("_", " "), args.length > 3 ? MailType.PRIME_SHOP_GIFT : MailType.REGULAR);
+ final List itemIds = new ArrayList<>();
+ int counter = -1;
+ for (String str : args)
+ {
+ counter++;
+ if (counter < 3)
+ {
+ continue;
+ }
+ if (Util.isDigit(str))
+ {
+ itemIds.add(Integer.valueOf(str));
+ }
+ }
+ if (!itemIds.isEmpty())
+ {
+ final Mail attachments = msg.createAttachments();
+ for (int itemId : itemIds)
+ {
+ attachments.addItem("Telnet", itemId, 1, null, null);
+ }
+ }
+ MailManager.getInstance().sendMessage(msg);
+ return "An ingame mail has been sent to " + args[0] + ".";
+ }
+ return "Couldn't find player with such name.";
+ }
+}
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/MasterHandler.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/MasterHandler.java
index 3b96578693..67e0f164e4 100644
--- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/MasterHandler.java
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/MasterHandler.java
@@ -298,6 +298,7 @@ import handlers.telnethandlers.player.GMList;
import handlers.telnethandlers.player.Give;
import handlers.telnethandlers.player.Jail;
import handlers.telnethandlers.player.Kick;
+import handlers.telnethandlers.player.SendMail;
import handlers.telnethandlers.player.Unban;
import handlers.telnethandlers.player.UnbanChat;
import handlers.telnethandlers.player.Unjail;
@@ -748,6 +749,7 @@ public class MasterHandler
TelnetServer.getInstance().addHandler(new Performance());
TelnetServer.getInstance().addHandler(new Purge());
TelnetServer.getInstance().addHandler(new Reload());
+ TelnetServer.getInstance().addHandler(new SendMail());
TelnetServer.getInstance().addHandler(new ServerAbort());
TelnetServer.getInstance().addHandler(new ServerRestart());
TelnetServer.getInstance().addHandler(new ServerShutdown());
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java
new file mode 100644
index 0000000000..3b9fa77dec
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java
@@ -0,0 +1,87 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package handlers.telnethandlers.player;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.l2jmobius.gameserver.data.sql.impl.CharNameTable;
+import com.l2jmobius.gameserver.enums.MailType;
+import com.l2jmobius.gameserver.instancemanager.MailManager;
+import com.l2jmobius.gameserver.model.entity.Message;
+import com.l2jmobius.gameserver.model.itemcontainer.Mail;
+import com.l2jmobius.gameserver.network.telnet.ITelnetCommand;
+import com.l2jmobius.gameserver.util.Util;
+
+import io.netty.channel.ChannelHandlerContext;
+
+/**
+ * @author Mobius
+ */
+public class SendMail implements ITelnetCommand
+{
+ @Override
+ public String getCommand()
+ {
+ return "sendmail";
+ }
+
+ @Override
+ public String getUsage()
+ {
+ return "sendmail
- ";
+ }
+
+ @Override
+ public String handle(ChannelHandlerContext ctx, String[] args)
+ {
+ if ((args.length < 3) || args[0].isEmpty())
+ {
+ return null;
+ }
+ final int objectId = CharNameTable.getInstance().getIdByName(args[0]);
+ if (objectId > 0)
+ {
+ final Message msg = new Message(objectId, args[1].replace("_", " "), args[2].replace("_", " "), args.length > 3 ? MailType.PRIME_SHOP_GIFT : MailType.REGULAR);
+ final List itemIds = new ArrayList<>();
+ int counter = -1;
+ for (String str : args)
+ {
+ counter++;
+ if (counter < 3)
+ {
+ continue;
+ }
+ if (Util.isDigit(str))
+ {
+ itemIds.add(Integer.valueOf(str));
+ }
+ }
+ if (!itemIds.isEmpty())
+ {
+ final Mail attachments = msg.createAttachments();
+ for (int itemId : itemIds)
+ {
+ attachments.addItem("Telnet", itemId, 1, null, null);
+ }
+ }
+ MailManager.getInstance().sendMessage(msg);
+ return "An ingame mail has been sent to " + args[0] + ".";
+ }
+ return "Couldn't find player with such name.";
+ }
+}