101soundboards generator

Generate tts messages

  1. // ==UserScript==
  2. // @name 101soundboards generator
  3. // @namespace joshclark756@gmail.com
  4. // @version 2
  5. // @description Generate tts messages
  6. // @author joshclark756
  7. // @match https://www.101soundboards.com/*
  8. // @grant none
  9. // @license MIT
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14.  
  15. const minAmount = 290;
  16. const maxAmount = 300;
  17.  
  18. function generateMessage(baseMessage) {
  19. const randomAmount = Math.floor(Math.random() * (maxAmount - minAmount + 1)) + minAmount;
  20. return `${baseMessage}`;
  21. }
  22.  
  23. async function sendRequest(message, boardId) {
  24. const response = await fetch(`https://www.101soundboards.com/api/v1/boards/${boardId}/tts_phrase`, {
  25. method: 'POST',
  26. headers: {
  27. 'Content-Type': 'application/json'
  28. },
  29. body: JSON.stringify({ phrase_text: message, gpt_requested: true })
  30. });
  31. return response.json();
  32. }
  33.  
  34. function createGenerateButton() {
  35. const button = document.createElement('button');
  36. button.innerText = 'Generate';
  37. button.style.position = 'fixed';
  38. button.style.right = '20px';
  39. button.style.top = '100px'; // Adjusted position
  40. button.style.zIndex = '1000';
  41. document.body.appendChild(button);
  42.  
  43. button.addEventListener('click', () => {
  44. const baseMessage = prompt("Enter your message:");
  45. const timesToGenerate = parseInt(prompt("How many times would you like to generate this message?"), 10);
  46. const urlParts = window.location.href.split('/');
  47. const boardId = urlParts[urlParts.length - 1].split('-')[0];
  48. if (baseMessage && !isNaN(timesToGenerate) && timesToGenerate > 0 && boardId) {
  49. for (let i = 0; i < timesToGenerate; i++) {
  50. const message = generateMessage(baseMessage);
  51. sendRequest(message, boardId);
  52. }
  53. alert(`Message successfully sent ${timesToGenerate} times`);
  54. }
  55. });
  56. }
  57.  
  58. createGenerateButton();
  59. })();