カスタムくん[EXT]

入力欄に文字列を改行で区切って入力して「投稿」ボタンを押すと文字列の中からランダムで一つ投稿してくれます。

  1. // ==UserScript==
  2. // @name カスタムくん[EXT]
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.0.1
  5. // @license MIT
  6. // @description 入力欄に文字列を改行で区切って入力して「投稿」ボタンを押すと文字列の中からランダムで一つ投稿してくれます。
  7. // @author You
  8. // @match *.x-feeder.info/*/
  9. // @match *.x-feeder.info/*/sp/
  10. // @exclude *.x-feeder.info/*/settings/*
  11. // @match http://drrrkari.com/room/
  12. // @match http://www.3751chat.com/ChatRoom*
  13. // @match https://pictsense.com/*
  14. // @match http://www.himachat.com/
  15. // @match https://discord.com/*
  16. // @match https://*.open2ch.net/*
  17. // @require http://code.jquery.com/jquery-3.5.1.min.js
  18. // @require https://greasyfork.org/scripts/419945-global-managedextensions/code/Global_ManagedExtensions.js?version=889360
  19. // @require https://greasyfork.org/scripts/419888-antimatterx/code/antimatterx.js?version=889299
  20. // @grant GM.setValue
  21. // @grant GM.getValue
  22. // ==/UserScript==
  23.  
  24. (function(unsafeWindow) {
  25. 'use strict';
  26. var $ = window.$,
  27. amx = window.antimatterx;
  28. unsafeWindow.Global_ManagedExtensions["カスタムくん"] = {
  29. config: function(say) {
  30. var h = $("<div>"),
  31. isDiscord = (amx.parseURL().domainname === "discord.com");
  32. if (isDiscord) {
  33. var inputDiscordToken = $(amx.addInputText(h[0], {
  34. title: "authorization",
  35. placeholder: "発言に必要なキー",
  36. width: "50%",
  37. save: "authorization"
  38. })).after("<br><br>");
  39. };
  40. var inputMessages = $(amx.addInputText(h[0], {
  41. textarea: true,
  42. placeholder: "改行で区切って入力",
  43. save: "messages"
  44. })),
  45. postBtn = amx.addButton(h[0], {
  46. title: "投稿",
  47. click: function() {
  48. var messages = inputMessages.val().split("\n").filter(function(v) {
  49. return v.length > 0;
  50. });
  51. if (messages.length === 0 || isDiscord && inputDiscordToken.val().length === 0) return;
  52. say(amx.randArray(messages), inputDiscordToken === undefined ? undefined : inputDiscordToken.val());
  53. }
  54. });
  55. return h;
  56. }
  57. };
  58. })(this.unsafeWindow || window);