CtrlDiscord

Use Ctrl + Enter to send message.

  1. // ==UserScript==
  2. // @name CtrlDiscord
  3. // @namespace discord
  4. // @version 1.1
  5. // @description Use Ctrl + Enter to send message.
  6. // @author blindingdark
  7. // @match https://discord.com/*
  8. // ==/UserScript==
  9. /* jshint esversion: 6 */
  10.  
  11. (function() {
  12. 'use strict';
  13. function keyboardEnterEvent(event) {
  14. var keyboardEnterEvent = new KeyboardEvent(event, {
  15. code: 'Enter',
  16. key: 'Enter',
  17. bubbles: true,
  18. cancelable: true
  19. });
  20.  
  21. Object.defineProperties(keyboardEnterEvent, {
  22. keyCode: { get: () => 13 },
  23. which: { get: () => 13 }
  24. });
  25.  
  26. return keyboardEnterEvent;
  27. }
  28.  
  29. function handleCtrlEnterEvent(event) {
  30. if (!event.ctrlKey) return;
  31. if (event.keyCode !== 13) return;
  32.  
  33. let textarea;
  34. let enterEvent;
  35.  
  36. if (textarea = document.querySelector('span[data-slate-string="true"]')) {
  37. enterEvent = 'keydown';
  38. } else if (textarea = document.querySelector('textarea')) {
  39. enterEvent = 'keypress';
  40. } else {
  41. return;
  42. }
  43.  
  44. textarea.dispatchEvent(keyboardEnterEvent(enterEvent));
  45. }
  46.  
  47. window.addEventListener('keydown', handleCtrlEnterEvent);
  48. })();