Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.code2code.discordbot;
- import sx.blah.discord.api.ClientBuilder;
- import sx.blah.discord.api.IDiscordClient;
- import sx.blah.discord.api.events.Event;
- import sx.blah.discord.api.events.EventDispatcher;
- import sx.blah.discord.api.events.IListener;
- import sx.blah.discord.handle.impl.events.MessageReceivedEvent;
- import sx.blah.discord.handle.obj.IChannel;
- import sx.blah.discord.handle.obj.IMessage;
- import sx.blah.discord.handle.obj.IUser;
- import sx.blah.discord.util.DiscordException;
- import sx.blah.discord.util.MissingPermissionsException;
- import sx.blah.discord.util.RateLimitException;
- import java.sql.*;
- import java.util.UUID;
- public class Main {
- public static IDiscordClient CLIENT;
- public static Connection connection;
- public static void main(String[] args) {
- try {
- Class.forName("com.mysql.jdbc.Driver");
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- }
- try {
- connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/botdiscord", "root", "");
- } catch (SQLException e) {
- e.printStackTrace();
- }
- try {
- System.out.println(connection.isClosed());
- } catch (SQLException e) {
- e.printStackTrace();
- }
- CLIENT = createClient("Mjc2NDY1OTk5ODQxMzI5MTUy.C3QIZQ.YMlN8a_3F3aROCbO-zZU7g8dRoQ", true);
- new Thread(new Runnable() {
- public void run() {
- try {
- Thread.sleep(5000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- for (IChannel iChannel : CLIENT.getChannels()) {
- if (iChannel.getID().equals("276340971137007627")) {
- for (IMessage iMessage : iChannel.getMessages()) {
- try {
- iMessage.delete();
- } catch (MissingPermissionsException e) {
- e.printStackTrace();
- } catch (RateLimitException e) {
- e.printStackTrace();
- } catch (DiscordException e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
- }).start();
- EventDispatcher dispatcher = CLIENT.getDispatcher();
- dispatcher.registerListener(new IListener() {
- public void handle(Event event) {
- //System.out.println(event.toString());
- if (event instanceof MessageReceivedEvent) {
- MessageReceivedEvent e = ((MessageReceivedEvent) event);
- IMessage message = e.getMessage();
- IUser author = message.getAuthor();
- IChannel channel = message.getChannel();
- if (author.getName().equals(channel.getName())) {
- System.out.println("Recive message: ");
- System.out.println(" - Author: " + author.getName());
- System.out.println(" - Channel: " + channel.getName());
- System.out.println(" - Message: " + message.getContent());
- String[] args = message.getContent().split(" ");
- if (args[0].equalsIgnoreCase("!confirmtoken") && args.length == 2) {
- User user = getUser(author);
- String entry = args[1].toLowerCase();
- if (user.used) {
- try {
- channel.sendMessage(":raised_hand: Your account is already verified");
- } catch (MissingPermissionsException e1) {
- e1.printStackTrace();
- } catch (RateLimitException e1) {
- e1.printStackTrace();
- } catch (DiscordException e1) {
- e1.printStackTrace();
- }
- return;
- }
- if (entry.equals(user.personalToken)) {
- try {
- channel.sendMessage(":white_check_mark: Your account was verified !");
- } catch (MissingPermissionsException e1) {
- e1.printStackTrace();
- } catch (RateLimitException e1) {
- e1.printStackTrace();
- } catch (DiscordException e1) {
- e1.printStackTrace();
- }
- setUsed(author);
- } else {
- try {
- channel.sendMessage(":no_entry: It's not your private token !");
- } catch (MissingPermissionsException e1) {
- e1.printStackTrace();
- } catch (RateLimitException e1) {
- e1.printStackTrace();
- } catch (DiscordException e1) {
- e1.printStackTrace();
- }
- }
- //"You already have a token, please type: ```!confirmtoken <token>```"
- }
- if (args[0].equalsIgnoreCase("!asktoken")) {
- try {
- User user = getUser(author);
- if (!user.used) {
- channel.sendMessage("Your token is: **" + user.personalToken + "**");
- channel.sendMessage("Please type: ```!confirmtoken <token>```");
- } else {
- channel.sendMessage("Your token is already used. :cold_sweat:");
- }
- } catch (MissingPermissionsException e1) {
- e1.printStackTrace();
- } catch (RateLimitException e1) {
- e1.printStackTrace();
- } catch (DiscordException e1) {
- e1.printStackTrace();
- }
- }
- }
- }
- }
- });
- }
- public static IDiscordClient createClient(String token, boolean login) { // Returns a new instance of the Discord client
- ClientBuilder clientBuilder = new ClientBuilder(); // Creates the ClientBuilder instance
- clientBuilder.withToken(token); // Adds the login info to the builder
- try {
- if (login) {
- return clientBuilder.login(); // Creates the client instance and logs the client in
- } else {
- return clientBuilder.build(); // Creates the client instance but it doesn't log the client in yet, you would have to call client.login() yourself
- }
- } catch (DiscordException e) { // This is thrown if there was a problem building the client
- e.printStackTrace();
- }
- return null;
- }
- public static ResultSet getUserResult(IUser user) {
- try {
- PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM botdiscord.bd_user WHERE userId = ?");
- preparedStatement.setString(1, user.getID());
- return preparedStatement.executeQuery();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return null;
- }
- public static boolean exist(IUser user) {
- try {
- ResultSet resultSet = getUserResult(user);
- boolean exist = resultSet.next();
- resultSet.getStatement().close();
- resultSet.close();
- return exist;
- } catch (Exception e) {
- e.printStackTrace();
- }
- return false;
- }
- public static void setUsed(IUser user) {
- try {
- PreparedStatement preparedStatement = connection.prepareStatement("UPDATE botdiscord.bd_user SET used = TRUE WHERE userId = ?");
- preparedStatement.setString(1, user.getID());
- preparedStatement.execute();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public static User getUser(IUser user) {
- if (!exist(user)) {
- try {
- PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO botdiscord.bd_user (userId, personalToken, date) VALUES(?, ?, ?)");
- preparedStatement.setString(1, user.getID());
- preparedStatement.setString(2, UUID.randomUUID().toString().replace("-", ""));
- preparedStatement.setLong(3, System.currentTimeMillis());
- preparedStatement.execute();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- try {
- ResultSet resultSet = getUserResult(user);
- resultSet.next();
- return new User(resultSet.getInt("internalId"),
- resultSet.getString("userId"),
- resultSet.getString("personalToken"),
- resultSet.getBoolean("used"),
- resultSet.getLong("date"));
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement