Advertisement
Guest User

Untitled

a guest
Aug 26th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.19 KB | None | 0 0
  1. (function() {
  2. 'use strict';
  3. let messageID = "000000000000000000";
  4. let authToken = "NTQ3MjE0ODYyMzEzNDU1NjI2.";
  5.  
  6.  
  7. const channelID = window.location.href.split('/').pop();
  8. const frame = document.body.appendChild(document.createElement("iframe"));
  9. const cloneLS = JSON.parse(JSON.stringify(frame.contentWindow.localStorage));
  10. frame.parentNode.removeChild(frame);
  11. const userID = cloneLS.user_id_cache.replace(/"/g, "");
  12.  
  13. if (authToken === "YOUR_AUTH_TOKEN") {
  14. if (!cloneLS.hasOwnProperty('token')) {
  15. window.alert("Failed to retrieve your auth token from localStorage, try pasting it into this script manually.\nInstructions to find your auth token are provided in this script.");
  16. return;
  17. }
  18. authToken = cloneLS.token.replace(/"/g, "");
  19. }
  20. console.log("Your Discord account's auth token is:\n" + authToken);
  21.  
  22. let msgCount = 0;
  23. const interval = 500;
  24.  
  25. let delay = (duration) => {
  26. return new Promise((resolve, reject) => {
  27. setTimeout(() => resolve(), duration);
  28. });
  29. }
  30.  
  31. let clearMessages = () => {
  32. const baseURL = "https://discordapp.com/api/channels/" + channelID + "/messages";
  33. const headers = {
  34. "Authorization": authToken
  35. };
  36.  
  37. let clock = 0;
  38.  
  39. window.fetch(baseURL + "?before=" + messageID, {
  40. headers,
  41. method: 'GET'
  42. })
  43. .then((resp) => resp.json())
  44. .then((messages) => {
  45. if (typeof messages === "undefined" || !messages.hasOwnProperty('length')) {
  46. window.alert("Failed to retrieve messages! Try refreshing the page, then running the script again.");
  47. return true;
  48. } else if (messages.length === 0) {
  49. window.alert("All Skids!\nTotal Messages Deleted: " + msgCount);
  50. return true;
  51. }
  52. return Promise.all(messages.map(
  53. (message) => {
  54. messageID = message.id;
  55. if (message.author.id === userID) {
  56. msgCount++;
  57. const msgNumber = msgCount;
  58. console.log("Found message #" + msgNumber);
  59. return delay(clock += interval)
  60. .then(() => {
  61. console.log("Deleting message " + msgNumber + "/" + msgCount);
  62. fetch(`${baseURL}/${message.id}`, {
  63. headers,
  64. method: 'DELETE'
  65. });
  66. });
  67. } else {
  68. console.log("Skipped message from other user.");
  69. return;
  70. }
  71. }));
  72. })
  73. .then((isFinished) => {
  74. if (isFinished === true) {
  75. return;
  76. }
  77. clearMessages();
  78. });
  79. }
  80. clearMessages();
  81. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement