index.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. const Discord = require('discord.js');
  2. const client = new Discord.Client();
  3. const config = require('./config.json');
  4. var mysql = require('mysql');
  5. var urlRegex = /^(ftp|http|https):\/\/[^ "]+$/;
  6. client.on('ready', () => {
  7. console.log(`Logged in as ${client.user.tag}!`);
  8. });
  9. client.on('message', message => {
  10. if (message.author.bot==true) return;
  11. var serverData = undefined;
  12. config.servers.forEach(function(server) {
  13. if (message.channel.id==server.channel) serverData = server;
  14. });
  15. if (serverData==undefined) return;
  16. var l = [];
  17. var msgCopy = message.content;
  18. msgCopy.replace(urlRegex, function(url) {
  19. l.push(url);
  20. });
  21. var i = [];
  22. message.attachments.forEach(attachment => {
  23. i.push(attachment.url);
  24. });
  25. var connection = mysql.createConnection({
  26. host : serverData.dbHost,
  27. user : serverData.dbUser,
  28. password : serverData.dbPassword,
  29. database : serverData.db
  30. });
  31. var post = {message:message.content, id:message.id, time:message.createdTimestamp, user:message.author.id, links:JSON.stringify(l), images:JSON.stringify(i)};
  32. var sql = 'INSERT INTO '+serverData.dbTable+' SET ?';
  33. connection.connect();
  34. connection.query(sql, post, function (error, results, fields) {
  35. if (error) throw error;
  36. console.log('Data sent to db. Result: ', results);
  37. });
  38. connection.end();
  39. });
  40. client.login(config.token);