diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml new file mode 100644 index 0000000..666baba --- /dev/null +++ b/.idea/dataSources.xml @@ -0,0 +1,13 @@ + + + + + java.sql.Driver + true + true + org.isaacmcfadyen.D1Driver + jdbc:d1://d09d3c74-c75f-4418-8f1b-2fe7f21637e6 + $ProjectFileDir$ + + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..0b14f85 --- /dev/null +++ b/README.md @@ -0,0 +1,56 @@ +# Vore Scenario Generator + +![Example scenario, reading: +The action takes place at a sports event. +The encounter is themed around voreception. +The action begins when a threat is made. +Things are more difficult because someone is not prepared +Partway through, unexpectedly, the prey nearly escapes +The vore scene is focused on the aftermath +The word of the day is Millionaire](example.png) + +It does exactly what it says on the tin: it generates random vore scenarios. For you! +[The list of default responses are here if you want to check it in advance.](https://scenario-generator.deliciousreya.net/responses) + +## Usage + +### Installation + +* +Visit [this Discord OAuth link](https://discord.com/api/oauth2/authorize?client_id=1192326191189864458&permissions=0&scope=applications.commands) +and give permission to use application commands in your server. Share it with the admin of your server if you don't +have permission yourself! +* Don't worry - not only does this bot not do anything nefarious with your messages, but it actually can't read them at + all. It only reads the commands you give it and its own messages! If you're concerned, though, please go through the + code. Kink stuff is very personal and private! Use caution when running random horny software! + +### Generation + +* Run the `/generate` command to generate a random scenario. +* Don't like what you got? Pick the components you don't like from the select box, + then click "Reroll Selected" to generate fresh ones. +* Think the scenario is beyond saving? Click "Trash it." to delete the message. +* Satisfied with the results? Click "Looks good!" to remove the reroll commands. + +### Customization + +Note that changes to custom responses will be sent to your current channel and will be visible to the admin (that's me) +and everyone in the server, as well as anyone who knows or can guess your server ID. Assume your responses are not +private. + +* Run `/response add [table] [text]` to add a new custom response. Use the table listing in the Discord command. +* Run `/response delete [table] [text]` to remove a custom response. Give the response text exactly! +* Run `/response edit [table] [old text] [new text]` to modify a custom response. Give the old response text exactly! +* Run `/response list` to get a link to a list of all responses that will be given in the current server, including both + default and custom responses. + +## Credits + +* Icon source: [obsid1an on DeviantArt](https://www.deviantart.com/obsid1an/art/Slot-Machine-Game-Icon-341475642) +* Writing for default responses by [Ssublissive](https://aryion.com/g4/gallery/Ssublissive), with additional writing by + [DeliciousReya](https://aryion.com/g4/gallery/DeliciousReya), [Seina](https://aryion.com/g4/user/RediQ) and 1 other. +* Development by [DeliciousReya](https://aryion.com/g4/gallery/DeliciousReya), using + [slash-create](https://slash-create.js.org/#/) and + [discord-snowflake](https://github.com/ianmitchell/interaction-kit/tree/main/packages/discord-snowflake). +* Hosted on [CloudFlare Workers](https://developers.cloudflare.com/workers/) + with [D1](https://developers.cloudflare.com/d1/). diff --git a/example.png b/example.png new file mode 100644 index 0000000..28a4500 Binary files /dev/null and b/example.png differ diff --git a/migrations/0000_initialize_responses_table.sql b/migrations/0000_initialize_responses_table.sql new file mode 100644 index 0000000..6c8a4fe --- /dev/null +++ b/migrations/0000_initialize_responses_table.sql @@ -0,0 +1,14 @@ +-- Migration number: 0000 2024-01-04T08:37:46.641Z +CREATE TABLE IF NOT EXISTS responses ( + id INTEGER PRIMARY KEY ASC NOT NULL, + tableId INTEGER NOT NULL CHECK (tableId IN (0, 1, 2, 3, 4, 5, 6)), + text TEXT NOT NULL, + timestamp INTEGER NOT NULL, + userSnowflake TEXT NOT NULL, + serverSnowflake TEXT NULL, + access INTEGER NOT NULL CHECK (access IN (0, 1, 2)) +) STRICT; + +CREATE UNIQUE INDEX IF NOT EXISTS responses_unique_global ON responses (tableId, text) WHERE access = 0; +CREATE UNIQUE INDEX IF NOT EXISTS responses_unique_by_server ON responses (serverSnowflake, tableId, text) WHERE access = 1; +CREATE UNIQUE INDEX IF NOT EXISTS responses_unique_by_dm ON responses (userSnowflake, tableId, text) WHERE access = 2; diff --git a/migrations/0001_add_initial_values.sql b/migrations/0001_add_initial_values.sql new file mode 100644 index 0000000..9d65253 --- /dev/null +++ b/migrations/0001_add_initial_values.sql @@ -0,0 +1,1570 @@ +-- Migration number: 0001 2024-01-04T10:09:22.903Z +INSERT OR IGNORE INTO responses (id, tableId, text, timestamp, userSnowflake, serverSnowflake, access) +VALUES (1704363988831, 0, 'in someone''s home', 1704363988831, '126936953789743104', NULL, 0), + (1704363988832, 0, 'out on the street', 1704363988831, '126936953789743104', NULL, 0), + (1704363988833, 0, 'in the Pink Light District', 1704363988831, '126936953789743104', NULL, 0), + (1704363988834, 0, 'in a shop', 1704363988831, '126936953789743104', NULL, 0), + (1704363988835, 0, 'in a cafe', 1704363988831, '126936953789743104', NULL, 0), + (1704363988836, 0, 'on campus', 1704363988831, '126936953789743104', NULL, 0), + (1704363988837, 0, 'somewhere shady', 1704363988831, '126936953789743104', NULL, 0), + (1704363988838, 0, 'in line for something', 1704363988831, '126936953789743104', NULL, 0), + (1704363988839, 0, 'during practice', 1704363988831, '126936953789743104', NULL, 0), + (1704363988840, 0, 'in the car', 1704363988831, '126936953789743104', NULL, 0), + (1704363988841, 0, 'on a road trip', 1704363988831, '126936953789743104', NULL, 0), + (1704363988842, 0, 'at a theme park', 1704363988831, '126936953789743104', NULL, 0), + (1704363854890, 1, 'misunderstanding', 1704363854890, '126936953789743104', NULL, 0), + (1704363854891, 1, 'starvation', 1704363854890, '126936953789743104', NULL, 0), + (1704363854892, 1, 'jealousy', 1704363854890, '126936953789743104', NULL, 0), + (1704363854893, 1, 'affection', 1704363854890, '126936953789743104', NULL, 0), + (1704363854894, 1, 'protectiveness', 1704363854890, '126936953789743104', NULL, 0), + (1704363854895, 1, 'playfulness', 1704363854890, '126936953789743104', NULL, 0), + (1704363854896, 1, 'self-defense', 1704363854890, '126936953789743104', NULL, 0), + (1704363854897, 1, 'anxiety', 1704363854890, '126936953789743104', NULL, 0), + (1704363854898, 1, 'loneliness', 1704363854890, '126936953789743104', NULL, 0), + (1704363854899, 1, 'boredom', 1704363854890, '126936953789743104', NULL, 0), + (1704363854900, 1, 'friendship', 1704363854890, '126936953789743104', NULL, 0), + (1704363854901, 1, 'romance', 1704363854890, '126936953789743104', NULL, 0), + (1704363854902, 1, 'rejection', 1704363854890, '126936953789743104', NULL, 0), + (1704363854903, 1, 'lust', 1704363854890, '126936953789743104', NULL, 0), + (1704363854904, 1, 'obsession', 1704363854890, '126936953789743104', NULL, 0), + (1704363854905, 1, 'confusion', 1704363854890, '126936953789743104', NULL, 0), + (1704363854906, 1, 'superiority', 1704363854890, '126936953789743104', NULL, 0), + (1704363854907, 1, 'inferiority', 1704363854890, '126936953789743104', NULL, 0), + (1704363854908, 1, 'casualness', 1704363854890, '126936953789743104', NULL, 0), + (1704363456528, 2, 'an external threat stresses someone out', 1704363456528, '126936953789743104', NULL, 0), + (1704363456529, 2, 'someone''s restraint gives way', 1704363456528, '126936953789743104', NULL, 0), + (1704363456530, 2, 'something foolish is said', 1704363456528, '126936953789743104', NULL, 0), + (1704363456531, 2, 'someone is bored', 1704363456528, '126936953789743104', NULL, 0), + (1704363456532, 2, 'something is overheard', 1704363456528, '126936953789743104', NULL, 0), + (1704363456533, 2, 'an argument builds to a fever pitch', 1704363456528, '126936953789743104', NULL, 0), + (1704363456534, 2, 'indecision gets frustrating', 1704363456528, '126936953789743104', NULL, 0), + (1704363456535, 2, 'feelings are unexpectedly hurt', 1704363456528, '126936953789743104', NULL, 0), + (1704363456536, 2, 'a stomach growls', 1704363456528, '126936953789743104', NULL, 0), + (1704364175747, 3, 'the size difference is prohibitive', 1704364175747, '126936953789743104', NULL, 0), + (1704364175748, 3, 'there''s a big audience watching', 1704364175747, '126936953789743104', NULL, 0), + (1704364175749, 3, 'someone has never tried vore before', 1704364175747, '126936953789743104', NULL, 0), + (1704364175750, 3, 'family tradition forbids this', 1704364175747, '126936953789743104', NULL, 0), + (1704364175751, 3, 'the characters are not supposed to speak to each other', 1704364175747, '126936953789743104', + NULL, 0), + (1704364175752, 3, 'the prey is dominant over the pred', 1704364175747, '126936953789743104', NULL, 0), + (1704364175753, 3, 'friends are trying to pull the characters apart', 1704364175747, '126936953789743104', NULL, + 0), + (1704364175754, 3, 'there isn''t a lot of room here', 1704364175747, '126936953789743104', NULL, 0), + (1704364175755, 3, 'vore is prohibited here', 1704364175747, '126936953789743104', NULL, 0), + (1704364442145, 4, 'someone who would normally have intervened doesn''t', 1704364442145, '126936953789743104', + NULL, 0), + (1704364442146, 4, 'the prey turns things around on the pred', 1704364442145, '126936953789743104', NULL, 0), + (1704364442147, 4, 'an unexpected ally helps out', 1704364442145, '126936953789743104', NULL, 0), + (1704364442148, 4, 'the prey''s enjoyment sharply changes', 1704364442145, '126936953789743104', NULL, 0), + (1704364442149, 4, 'the antacids mysteriously go missing', 1704364442145, '126936953789743104', NULL, 0), + (1704364442150, 4, 'the pred starts to develop indigestion', 1704364442145, '126936953789743104', NULL, 0), + (1704364442151, 4, 'a betrayal seals the prey''s fate', 1704364442145, '126936953789743104', NULL, 0), + (1704364442152, 4, 'the pred has second thoughts', 1704364442145, '126936953789743104', NULL, 0), + (1704364712751, 5, 'the pred''s feelings', 1704364712751, '126936953789743104', NULL, 0), + (1704364712752, 5, 'the prey''s feelings', 1704364712751, '126936953789743104', NULL, 0), + (1704364712753, 5, 'the pred''s stomach acids', 1704364712751, '126936953789743104', NULL, 0), + (1704364712754, 5, 'the pred''s mouth', 1704364712751, '126936953789743104', NULL, 0), + (1704364712755, 5, 'the prey''s body', 1704364712751, '126936953789743104', NULL, 0), + (1704364712756, 5, 'the pred''s intestines', 1704364712751, '126936953789743104', NULL, 0), + (1704364712757, 5, 'the pred''s weight', 1704364712751, '126936953789743104', NULL, 0), + (1704364712758, 5, 'detailed digestion', 1704364712751, '126936953789743104', NULL, 0), + (1704364712759, 5, 'scientific description of digestion', 1704364712751, '126936953789743104', NULL, 0), + (1704364712760, 5, 'the prey''s humiliation', 1704364712751, '126936953789743104', NULL, 0), + (1704364712761, 5, 'the observers'' feelings', 1704364712751, '126936953789743104', NULL, 0); +INSERT OR IGNORE INTO responses (id, tableId, text, timestamp, userSnowflake, serverSnowflake, access) +VALUES (1704362871734, 6, 'Ace', 1704362871734, '126936953789743104', NULL, 0), + (1704362871735, 6, 'Acid', 1704362871734, '126936953789743104', NULL, 0), + (1704362871736, 6, 'Acne', 1704362871734, '126936953789743104', NULL, 0), + (1704362871737, 6, 'Acre', 1704362871734, '126936953789743104', NULL, 0), + (1704362871738, 6, 'Africa', 1704362871734, '126936953789743104', NULL, 0), + (1704362871739, 6, 'Agent', 1704362871734, '126936953789743104', NULL, 0), + (1704362871740, 6, 'Air', 1704362871734, '126936953789743104', NULL, 0), + (1704362871741, 6, 'Aircraft', 1704362871734, '126936953789743104', NULL, 0), + (1704362871742, 6, 'Airplane', 1704362871734, '126936953789743104', NULL, 0), + (1704362871743, 6, 'Alarm Clock', 1704362871734, '126936953789743104', NULL, 0), + (1704362871744, 6, 'Alaska', 1704362871734, '126936953789743104', NULL, 0), + (1704362871745, 6, 'Alcohol', 1704362871734, '126936953789743104', NULL, 0), + (1704362871746, 6, 'Alien', 1704362871734, '126936953789743104', NULL, 0), + (1704362871747, 6, 'Alligator', 1704362871734, '126936953789743104', NULL, 0), + (1704362871748, 6, 'Alps', 1704362871734, '126936953789743104', NULL, 0), + (1704362871749, 6, 'Amazon', 1704362871734, '126936953789743104', NULL, 0), + (1704362871750, 6, 'Ambulance', 1704362871734, '126936953789743104', NULL, 0), + (1704362871751, 6, 'America', 1704362871734, '126936953789743104', NULL, 0), + (1704362871752, 6, 'Anchor', 1704362871734, '126936953789743104', NULL, 0), + (1704362871753, 6, 'Angel', 1704362871734, '126936953789743104', NULL, 0), + (1704362871754, 6, 'Animal', 1704362871734, '126936953789743104', NULL, 0), + (1704362871755, 6, 'Ankle', 1704362871734, '126936953789743104', NULL, 0), + (1704362871756, 6, 'Ant', 1704362871734, '126936953789743104', NULL, 0), + (1704362871757, 6, 'Antarctica', 1704362871734, '126936953789743104', NULL, 0), + (1704362871758, 6, 'Anthem', 1704362871734, '126936953789743104', NULL, 0), + (1704362871759, 6, 'Apple', 1704362871734, '126936953789743104', NULL, 0), + (1704362871760, 6, 'Apples', 1704362871734, '126936953789743104', NULL, 0), + (1704362871761, 6, 'Apron', 1704362871734, '126936953789743104', NULL, 0), + (1704362871762, 6, 'Archaeologist', 1704362871734, '126936953789743104', NULL, 0), + (1704362871763, 6, 'Aristocrat', 1704362871734, '126936953789743104', NULL, 0), + (1704362871764, 6, 'Arm', 1704362871734, '126936953789743104', NULL, 0), + (1704362871765, 6, 'Armor', 1704362871734, '126936953789743104', NULL, 0), + (1704362871766, 6, 'Army', 1704362871734, '126936953789743104', NULL, 0), + (1704362871767, 6, 'Ash', 1704362871734, '126936953789743104', NULL, 0), + (1704362871768, 6, 'Ashes', 1704362871734, '126936953789743104', NULL, 0), + (1704362871769, 6, 'Asleep', 1704362871734, '126936953789743104', NULL, 0), + (1704362871770, 6, 'Ass', 1704362871734, '126936953789743104', NULL, 0), + (1704362871771, 6, 'Astronaut', 1704362871734, '126936953789743104', NULL, 0), + (1704362871772, 6, 'Athlete', 1704362871734, '126936953789743104', NULL, 0), + (1704362871773, 6, 'Atlantis', 1704362871734, '126936953789743104', NULL, 0), + (1704362871774, 6, 'Attic', 1704362871734, '126936953789743104', NULL, 0), + (1704362871775, 6, 'Aunt', 1704362871734, '126936953789743104', NULL, 0), + (1704362871776, 6, 'Australia', 1704362871734, '126936953789743104', NULL, 0), + (1704362871777, 6, 'Avalanche', 1704362871734, '126936953789743104', NULL, 0), + (1704362871778, 6, 'Axe', 1704362871734, '126936953789743104', NULL, 0), + (1704362871779, 6, 'Aztec', 1704362871734, '126936953789743104', NULL, 0), + (1704362871780, 6, 'Baby', 1704362871734, '126936953789743104', NULL, 0), + (1704362871781, 6, 'Baby-sitter', 1704362871734, '126936953789743104', NULL, 0), + (1704362871782, 6, 'Back', 1704362871734, '126936953789743104', NULL, 0), + (1704362871783, 6, 'Backbone', 1704362871734, '126936953789743104', NULL, 0), + (1704362871784, 6, 'Bacon', 1704362871734, '126936953789743104', NULL, 0), + (1704362871785, 6, 'Bag', 1704362871734, '126936953789743104', NULL, 0), + (1704362871786, 6, 'Baggage', 1704362871734, '126936953789743104', NULL, 0), + (1704362871787, 6, 'Baked', 1704362871734, '126936953789743104', NULL, 0), + (1704362871788, 6, 'Ball', 1704362871734, '126936953789743104', NULL, 0), + (1704362871789, 6, 'Balloon', 1704362871734, '126936953789743104', NULL, 0), + (1704362871790, 6, 'Ballpoint Pen', 1704362871734, '126936953789743104', NULL, 0), + (1704362871791, 6, 'Balls', 1704362871734, '126936953789743104', NULL, 0), + (1704362871792, 6, 'Banana Peel', 1704362871734, '126936953789743104', NULL, 0), + (1704362871793, 6, 'Banana', 1704362871734, '126936953789743104', NULL, 0), + (1704362871794, 6, 'Band', 1704362871734, '126936953789743104', NULL, 0), + (1704362871795, 6, 'Bang', 1704362871734, '126936953789743104', NULL, 0), + (1704362871796, 6, 'Banister', 1704362871734, '126936953789743104', NULL, 0), + (1704362871797, 6, 'Bank', 1704362871734, '126936953789743104', NULL, 0), + (1704362871798, 6, 'Bar', 1704362871734, '126936953789743104', NULL, 0), + (1704362871799, 6, 'Barbecue', 1704362871734, '126936953789743104', NULL, 0), + (1704362871800, 6, 'Barber', 1704362871734, '126936953789743104', NULL, 0), + (1704362871801, 6, 'Bargain', 1704362871734, '126936953789743104', NULL, 0), + (1704362871802, 6, 'Bark', 1704362871734, '126936953789743104', NULL, 0), + (1704362871803, 6, 'Bartender', 1704362871734, '126936953789743104', NULL, 0), + (1704362871804, 6, 'Baseball', 1704362871734, '126936953789743104', NULL, 0), + (1704362871805, 6, 'Baseboard', 1704362871734, '126936953789743104', NULL, 0), + (1704362871806, 6, 'Basketball', 1704362871734, '126936953789743104', NULL, 0), + (1704362871807, 6, 'Bass', 1704362871734, '126936953789743104', NULL, 0), + (1704362871808, 6, 'Bat', 1704362871734, '126936953789743104', NULL, 0), + (1704362871809, 6, 'Bath', 1704362871734, '126936953789743104', NULL, 0), + (1704362871810, 6, 'Bathroom Scale', 1704362871734, '126936953789743104', NULL, 0), + (1704362871811, 6, 'Batteries', 1704362871734, '126936953789743104', NULL, 0), + (1704362871812, 6, 'Battery', 1704362871734, '126936953789743104', NULL, 0), + (1704362871813, 6, 'Battle', 1704362871734, '126936953789743104', NULL, 0), + (1704362871814, 6, 'Battleship', 1704362871734, '126936953789743104', NULL, 0), + (1704362871815, 6, 'Bay', 1704362871734, '126936953789743104', NULL, 0), + (1704362871816, 6, 'Beach', 1704362871734, '126936953789743104', NULL, 0), + (1704362871817, 6, 'Beam', 1704362871734, '126936953789743104', NULL, 0), + (1704362871818, 6, 'Bean', 1704362871734, '126936953789743104', NULL, 0), + (1704362871819, 6, 'Beans', 1704362871734, '126936953789743104', NULL, 0), + (1704362871820, 6, 'Bear', 1704362871734, '126936953789743104', NULL, 0), + (1704362871821, 6, 'Beard', 1704362871734, '126936953789743104', NULL, 0), + (1704362871822, 6, 'Beat', 1704362871734, '126936953789743104', NULL, 0), + (1704362871823, 6, 'Beaver', 1704362871734, '126936953789743104', NULL, 0), + (1704362871824, 6, 'Bed', 1704362871734, '126936953789743104', NULL, 0), + (1704362871825, 6, 'Bedbug', 1704362871734, '126936953789743104', NULL, 0), + (1704362871826, 6, 'Bedspread', 1704362871734, '126936953789743104', NULL, 0), + (1704362871827, 6, 'Bedtime', 1704362871734, '126936953789743104', NULL, 0), + (1704362871828, 6, 'Bee', 1704362871734, '126936953789743104', NULL, 0), + (1704362871829, 6, 'Beef', 1704362871734, '126936953789743104', NULL, 0), + (1704362871830, 6, 'Beer', 1704362871734, '126936953789743104', NULL, 0), + (1704362871831, 6, 'Behind', 1704362871734, '126936953789743104', NULL, 0), + (1704362871832, 6, 'Beijing', 1704362871734, '126936953789743104', NULL, 0), + (1704362871833, 6, 'Bell', 1704362871734, '126936953789743104', NULL, 0), + (1704362871834, 6, 'Belt', 1704362871734, '126936953789743104', NULL, 0), + (1704362871835, 6, 'Bench', 1704362871734, '126936953789743104', NULL, 0), + (1704362871836, 6, 'Bender', 1704362871734, '126936953789743104', NULL, 0), + (1704362871837, 6, 'Berlin', 1704362871734, '126936953789743104', NULL, 0), + (1704362871838, 6, 'Bermuda', 1704362871734, '126936953789743104', NULL, 0), + (1704362871839, 6, 'Berry', 1704362871734, '126936953789743104', NULL, 0), + (1704362871840, 6, 'Bicycle', 1704362871734, '126936953789743104', NULL, 0), + (1704362871841, 6, 'Big Bang', 1704362871734, '126936953789743104', NULL, 0), + (1704362871842, 6, 'Big Ben', 1704362871734, '126936953789743104', NULL, 0), + (1704362871843, 6, 'Big', 1704362871734, '126936953789743104', NULL, 0), + (1704362871844, 6, 'Bike', 1704362871734, '126936953789743104', NULL, 0), + (1704362871845, 6, 'Bikini', 1704362871734, '126936953789743104', NULL, 0), + (1704362871846, 6, 'Bill', 1704362871734, '126936953789743104', NULL, 0), + (1704362871847, 6, 'Bird', 1704362871734, '126936953789743104', NULL, 0), + (1704362871848, 6, 'Bird''s Nest', 1704362871734, '126936953789743104', NULL, 0), + (1704362871849, 6, 'Birthday', 1704362871734, '126936953789743104', NULL, 0), + (1704362871850, 6, 'Biscuit', 1704362871734, '126936953789743104', NULL, 0), + (1704362871851, 6, 'Biscuits', 1704362871734, '126936953789743104', NULL, 0), + (1704362871852, 6, 'Bisexual', 1704362871734, '126936953789743104', NULL, 0), + (1704362871853, 6, 'Bitch', 1704362871734, '126936953789743104', NULL, 0), + (1704362871854, 6, 'Bite', 1704362871734, '126936953789743104', NULL, 0), + (1704362871855, 6, 'Black', 1704362871734, '126936953789743104', NULL, 0), + (1704362871856, 6, 'Blacksmith', 1704362871734, '126936953789743104', NULL, 0), + (1704362871857, 6, 'Blade', 1704362871734, '126936953789743104', NULL, 0), + (1704362871858, 6, 'Blanket', 1704362871734, '126936953789743104', NULL, 0), + (1704362871859, 6, 'Blind', 1704362871734, '126936953789743104', NULL, 0), + (1704362871860, 6, 'Bling', 1704362871734, '126936953789743104', NULL, 0), + (1704362871861, 6, 'Blizzard', 1704362871734, '126936953789743104', NULL, 0), + (1704362871862, 6, 'Block', 1704362871734, '126936953789743104', NULL, 0), + (1704362871863, 6, 'Blonde', 1704362871734, '126936953789743104', NULL, 0), + (1704362871864, 6, 'Blow', 1704362871734, '126936953789743104', NULL, 0), + (1704362871865, 6, 'Blue', 1704362871734, '126936953789743104', NULL, 0), + (1704362871866, 6, 'Blues', 1704362871734, '126936953789743104', NULL, 0), + (1704362871867, 6, 'Blush', 1704362871734, '126936953789743104', NULL, 0), + (1704362871868, 6, 'Board', 1704362871734, '126936953789743104', NULL, 0), + (1704362871869, 6, 'Boat', 1704362871734, '126936953789743104', NULL, 0), + (1704362871870, 6, 'Bobsled', 1704362871734, '126936953789743104', NULL, 0), + (1704362871871, 6, 'Body', 1704362871734, '126936953789743104', NULL, 0), + (1704362871872, 6, 'Boil', 1704362871734, '126936953789743104', NULL, 0), + (1704362871873, 6, 'Bolt', 1704362871734, '126936953789743104', NULL, 0), + (1704362871874, 6, 'Bomb', 1704362871734, '126936953789743104', NULL, 0), + (1704362871875, 6, 'Bond', 1704362871734, '126936953789743104', NULL, 0), + (1704362871876, 6, 'Bondage', 1704362871734, '126936953789743104', NULL, 0), + (1704362871877, 6, 'Bone', 1704362871734, '126936953789743104', NULL, 0), + (1704362871878, 6, 'Bong', 1704362871734, '126936953789743104', NULL, 0), + (1704362871879, 6, 'Bonnet', 1704362871734, '126936953789743104', NULL, 0), + (1704362871880, 6, 'Bonsai', 1704362871734, '126936953789743104', NULL, 0), + (1704362871881, 6, 'Boob', 1704362871734, '126936953789743104', NULL, 0), + (1704362871882, 6, 'Book', 1704362871734, '126936953789743104', NULL, 0), + (1704362871883, 6, 'Bookend', 1704362871734, '126936953789743104', NULL, 0), + (1704362871884, 6, 'Boom', 1704362871734, '126936953789743104', NULL, 0), + (1704362871885, 6, 'Boot', 1704362871734, '126936953789743104', NULL, 0), + (1704362871886, 6, 'Booty', 1704362871734, '126936953789743104', NULL, 0), + (1704362871887, 6, 'Booze', 1704362871734, '126936953789743104', NULL, 0), + (1704362871888, 6, 'Boss', 1704362871734, '126936953789743104', NULL, 0), + (1704362871889, 6, 'Bottle', 1704362871734, '126936953789743104', NULL, 0), + (1704362871890, 6, 'Bottom', 1704362871734, '126936953789743104', NULL, 0), + (1704362871891, 6, 'Bow', 1704362871734, '126936953789743104', NULL, 0), + (1704362871892, 6, 'Bowl', 1704362871734, '126936953789743104', NULL, 0), + (1704362871893, 6, 'Bowler', 1704362871734, '126936953789743104', NULL, 0), + (1704362871894, 6, 'Bowtie', 1704362871734, '126936953789743104', NULL, 0), + (1704362871895, 6, 'Box', 1704362871734, '126936953789743104', NULL, 0), + (1704362871896, 6, 'Boxer', 1704362871734, '126936953789743104', NULL, 0), + (1704362871897, 6, 'Boxers', 1704362871734, '126936953789743104', NULL, 0), + (1704362871898, 6, 'Boy', 1704362871734, '126936953789743104', NULL, 0), + (1704362871899, 6, 'Bra', 1704362871734, '126936953789743104', NULL, 0), + (1704362871900, 6, 'Bracelet', 1704362871734, '126936953789743104', NULL, 0), + (1704362871901, 6, 'Brain', 1704362871734, '126936953789743104', NULL, 0), + (1704362871902, 6, 'Branch', 1704362871734, '126936953789743104', NULL, 0), + (1704362871903, 6, 'Brass', 1704362871734, '126936953789743104', NULL, 0), + (1704362871904, 6, 'Brave', 1704362871734, '126936953789743104', NULL, 0), + (1704362871905, 6, 'Brazil', 1704362871734, '126936953789743104', NULL, 0), + (1704362871906, 6, 'Bread', 1704362871734, '126936953789743104', NULL, 0), + (1704362871907, 6, 'Break', 1704362871734, '126936953789743104', NULL, 0), + (1704362871908, 6, 'Breast', 1704362871734, '126936953789743104', NULL, 0), + (1704362871909, 6, 'Brick', 1704362871734, '126936953789743104', NULL, 0), + (1704362871910, 6, 'Bride', 1704362871734, '126936953789743104', NULL, 0), + (1704362871911, 6, 'Bridge', 1704362871734, '126936953789743104', NULL, 0), + (1704362871912, 6, 'Briefs', 1704362871734, '126936953789743104', NULL, 0), + (1704362871913, 6, 'Broccoli', 1704362871734, '126936953789743104', NULL, 0), + (1704362871914, 6, 'Broken', 1704362871734, '126936953789743104', NULL, 0), + (1704362871915, 6, 'Broom', 1704362871734, '126936953789743104', NULL, 0), + (1704362871916, 6, 'Brother', 1704362871734, '126936953789743104', NULL, 0), + (1704362871917, 6, 'Brown', 1704362871734, '126936953789743104', NULL, 0), + (1704362871918, 6, 'Brownie', 1704362871734, '126936953789743104', NULL, 0), + (1704362871919, 6, 'Brunette', 1704362871734, '126936953789743104', NULL, 0), + (1704362871920, 6, 'Brush', 1704362871734, '126936953789743104', NULL, 0), + (1704362871921, 6, 'Bubble', 1704362871734, '126936953789743104', NULL, 0), + (1704362871922, 6, 'Buck', 1704362871734, '126936953789743104', NULL, 0), + (1704362871923, 6, 'Bucket', 1704362871734, '126936953789743104', NULL, 0), + (1704362871924, 6, 'Bud', 1704362871734, '126936953789743104', NULL, 0), + (1704362871925, 6, 'Buffalo', 1704362871734, '126936953789743104', NULL, 0), + (1704362871926, 6, 'Bug', 1704362871734, '126936953789743104', NULL, 0), + (1704362871927, 6, 'Bugle', 1704362871734, '126936953789743104', NULL, 0), + (1704362871928, 6, 'Bulb', 1704362871734, '126936953789743104', NULL, 0), + (1704362871929, 6, 'Bunk Bed', 1704362871734, '126936953789743104', NULL, 0), + (1704362871930, 6, 'Bunk', 1704362871734, '126936953789743104', NULL, 0), + (1704362871931, 6, 'Bunny', 1704362871734, '126936953789743104', NULL, 0), + (1704362871932, 6, 'Burn', 1704362871734, '126936953789743104', NULL, 0), + (1704362871933, 6, 'Bus', 1704362871734, '126936953789743104', NULL, 0), + (1704362871934, 6, 'Bush', 1704362871734, '126936953789743104', NULL, 0), + (1704362871935, 6, 'Bust', 1704362871734, '126936953789743104', NULL, 0), + (1704362871936, 6, 'Butt', 1704362871734, '126936953789743104', NULL, 0), + (1704362871937, 6, 'Butter', 1704362871734, '126936953789743104', NULL, 0), + (1704362871938, 6, 'Butterfly', 1704362871734, '126936953789743104', NULL, 0), + (1704362871939, 6, 'Button', 1704362871734, '126936953789743104', NULL, 0), + (1704362871940, 6, 'Buy', 1704362871734, '126936953789743104', NULL, 0), + (1704362871941, 6, 'Cable', 1704362871734, '126936953789743104', NULL, 0), + (1704362871942, 6, 'Caboose', 1704362871734, '126936953789743104', NULL, 0), + (1704362871943, 6, 'Caesar', 1704362871734, '126936953789743104', NULL, 0), + (1704362871944, 6, 'Cafeteria', 1704362871734, '126936953789743104', NULL, 0), + (1704362871945, 6, 'Cake', 1704362871734, '126936953789743104', NULL, 0), + (1704362871946, 6, 'Calculator', 1704362871734, '126936953789743104', NULL, 0), + (1704362871947, 6, 'Calf', 1704362871734, '126936953789743104', NULL, 0), + (1704362871948, 6, 'Camp', 1704362871734, '126936953789743104', NULL, 0), + (1704362871949, 6, 'Campsite', 1704362871734, '126936953789743104', NULL, 0), + (1704362871950, 6, 'Can', 1704362871734, '126936953789743104', NULL, 0), + (1704362871951, 6, 'Canada', 1704362871734, '126936953789743104', NULL, 0), + (1704362871952, 6, 'Candle', 1704362871734, '126936953789743104', NULL, 0), + (1704362871953, 6, 'Candlestick', 1704362871734, '126936953789743104', NULL, 0), + (1704362871954, 6, 'Candy', 1704362871734, '126936953789743104', NULL, 0), + (1704362871955, 6, 'Cane', 1704362871734, '126936953789743104', NULL, 0), + (1704362871956, 6, 'Cannons', 1704362871734, '126936953789743104', NULL, 0), + (1704362871957, 6, 'Cap', 1704362871734, '126936953789743104', NULL, 0), + (1704362871958, 6, 'Capital', 1704362871734, '126936953789743104', NULL, 0), + (1704362871959, 6, 'Captain', 1704362871734, '126936953789743104', NULL, 0), + (1704362871960, 6, 'Car', 1704362871734, '126936953789743104', NULL, 0), + (1704362871961, 6, 'Card', 1704362871734, '126936953789743104', NULL, 0), + (1704362871962, 6, 'Caroler', 1704362871734, '126936953789743104', NULL, 0), + (1704362871963, 6, 'Carpet', 1704362871734, '126936953789743104', NULL, 0), + (1704362871964, 6, 'Carrot', 1704362871734, '126936953789743104', NULL, 0), + (1704362871965, 6, 'Cartography', 1704362871734, '126936953789743104', NULL, 0), + (1704362871966, 6, 'Casino', 1704362871734, '126936953789743104', NULL, 0), + (1704362871967, 6, 'Cast', 1704362871734, '126936953789743104', NULL, 0), + (1704362871968, 6, 'Castle', 1704362871734, '126936953789743104', NULL, 0), + (1704362871969, 6, 'Cat', 1704362871734, '126936953789743104', NULL, 0), + (1704362871970, 6, 'Catalog', 1704362871734, '126936953789743104', NULL, 0), + (1704362871971, 6, 'Catcher', 1704362871734, '126936953789743104', NULL, 0), + (1704362871972, 6, 'Cave', 1704362871734, '126936953789743104', NULL, 0), + (1704362871973, 6, 'Ceiling Fan', 1704362871734, '126936953789743104', NULL, 0), + (1704362871974, 6, 'Cell', 1704362871734, '126936953789743104', NULL, 0), + (1704362871975, 6, 'Cello', 1704362871734, '126936953789743104', NULL, 0), + (1704362871976, 6, 'Centaur', 1704362871734, '126936953789743104', NULL, 0), + (1704362871977, 6, 'Center', 1704362871734, '126936953789743104', NULL, 0), + (1704362871978, 6, 'Century', 1704362871734, '126936953789743104', NULL, 0), + (1704362871979, 6, 'Chain', 1704362871734, '126936953789743104', NULL, 0), + (1704362871980, 6, 'Chains', 1704362871734, '126936953789743104', NULL, 0), + (1704362871981, 6, 'Chair', 1704362871734, '126936953789743104', NULL, 0), + (1704362871982, 6, 'Chalk', 1704362871734, '126936953789743104', NULL, 0), + (1704362871983, 6, 'Champagne', 1704362871734, '126936953789743104', NULL, 0), + (1704362871984, 6, 'Champion', 1704362871734, '126936953789743104', NULL, 0), + (1704362871985, 6, 'Change', 1704362871734, '126936953789743104', NULL, 0), + (1704362871986, 6, 'Chaps', 1704362871734, '126936953789743104', NULL, 0), + (1704362871987, 6, 'Charge', 1704362871734, '126936953789743104', NULL, 0), + (1704362871988, 6, 'Check', 1704362871734, '126936953789743104', NULL, 0), + (1704362871989, 6, 'Cheek', 1704362871734, '126936953789743104', NULL, 0), + (1704362871990, 6, 'Cheese', 1704362871734, '126936953789743104', NULL, 0), + (1704362871991, 6, 'Cherry', 1704362871734, '126936953789743104', NULL, 0), + (1704362871992, 6, 'Chest', 1704362871734, '126936953789743104', NULL, 0), + (1704362871993, 6, 'Chestnut', 1704362871734, '126936953789743104', NULL, 0), + (1704362871994, 6, 'Chew', 1704362871734, '126936953789743104', NULL, 0), + (1704362871995, 6, 'Chick', 1704362871734, '126936953789743104', NULL, 0), + (1704362871996, 6, 'Chicken', 1704362871734, '126936953789743104', NULL, 0), + (1704362871997, 6, 'China', 1704362871734, '126936953789743104', NULL, 0), + (1704362871998, 6, 'Chip', 1704362871734, '126936953789743104', NULL, 0), + (1704362871999, 6, 'Chocolate', 1704362871734, '126936953789743104', NULL, 0), + (1704362872000, 6, 'Choke', 1704362871734, '126936953789743104', NULL, 0), + (1704362872001, 6, 'Christmas', 1704362871734, '126936953789743104', NULL, 0), + (1704362872002, 6, 'Chubby', 1704362871734, '126936953789743104', NULL, 0), + (1704362872003, 6, 'Church', 1704362871734, '126936953789743104', NULL, 0), + (1704362872004, 6, 'Cigar', 1704362871734, '126936953789743104', NULL, 0), + (1704362872005, 6, 'Cigarette', 1704362871734, '126936953789743104', NULL, 0), + (1704362872006, 6, 'Circle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872007, 6, 'Circus', 1704362871734, '126936953789743104', NULL, 0), + (1704362872008, 6, 'Clam', 1704362871734, '126936953789743104', NULL, 0), + (1704362872009, 6, 'Clap', 1704362871734, '126936953789743104', NULL, 0), + (1704362872010, 6, 'Claw', 1704362871734, '126936953789743104', NULL, 0), + (1704362872011, 6, 'Cleopatra', 1704362871734, '126936953789743104', NULL, 0), + (1704362872012, 6, 'Cliff', 1704362871734, '126936953789743104', NULL, 0), + (1704362872013, 6, 'Cloak', 1704362871734, '126936953789743104', NULL, 0), + (1704362872014, 6, 'Clock', 1704362871734, '126936953789743104', NULL, 0), + (1704362872015, 6, 'Clog', 1704362871734, '126936953789743104', NULL, 0), + (1704362872016, 6, 'Cloud', 1704362871734, '126936953789743104', NULL, 0), + (1704362872017, 6, 'Clown', 1704362871734, '126936953789743104', NULL, 0), + (1704362872018, 6, 'Club', 1704362871734, '126936953789743104', NULL, 0), + (1704362872019, 6, 'Clue', 1704362871734, '126936953789743104', NULL, 0), + (1704362872020, 6, 'Coach', 1704362871734, '126936953789743104', NULL, 0), + (1704362872021, 6, 'Coal', 1704362871734, '126936953789743104', NULL, 0), + (1704362872022, 6, 'Coast', 1704362871734, '126936953789743104', NULL, 0), + (1704362872023, 6, 'Coat', 1704362871734, '126936953789743104', NULL, 0), + (1704362872024, 6, 'Cock', 1704362871734, '126936953789743104', NULL, 0), + (1704362872025, 6, 'Cocktail', 1704362871734, '126936953789743104', NULL, 0), + (1704362872026, 6, 'Code', 1704362871734, '126936953789743104', NULL, 0), + (1704362872027, 6, 'Coffee', 1704362871734, '126936953789743104', NULL, 0), + (1704362872028, 6, 'Cold', 1704362871734, '126936953789743104', NULL, 0), + (1704362872029, 6, 'Collar', 1704362871734, '126936953789743104', NULL, 0), + (1704362872030, 6, 'Columbus', 1704362871734, '126936953789743104', NULL, 0), + (1704362872031, 6, 'Comb', 1704362871734, '126936953789743104', NULL, 0), + (1704362872032, 6, 'Comet', 1704362871734, '126936953789743104', NULL, 0), + (1704362872033, 6, 'Comfy', 1704362871734, '126936953789743104', NULL, 0), + (1704362872034, 6, 'Comic', 1704362871734, '126936953789743104', NULL, 0), + (1704362872035, 6, 'Commando', 1704362871734, '126936953789743104', NULL, 0), + (1704362872036, 6, 'Commercial', 1704362871734, '126936953789743104', NULL, 0), + (1704362872037, 6, 'Compound', 1704362871734, '126936953789743104', NULL, 0), + (1704362872038, 6, 'Computer', 1704362871734, '126936953789743104', NULL, 0), + (1704362872039, 6, 'Concert', 1704362871734, '126936953789743104', NULL, 0), + (1704362872040, 6, 'Condom', 1704362871734, '126936953789743104', NULL, 0), + (1704362872041, 6, 'Conductor', 1704362871734, '126936953789743104', NULL, 0), + (1704362872042, 6, 'Cone', 1704362871734, '126936953789743104', NULL, 0), + (1704362872043, 6, 'Contract', 1704362871734, '126936953789743104', NULL, 0), + (1704362872044, 6, 'Cook', 1704362871734, '126936953789743104', NULL, 0), + (1704362872045, 6, 'Cookie', 1704362871734, '126936953789743104', NULL, 0), + (1704362872046, 6, 'Coozie', 1704362871734, '126936953789743104', NULL, 0), + (1704362872047, 6, 'Copper', 1704362871734, '126936953789743104', NULL, 0), + (1704362872048, 6, 'Corn', 1704362871734, '126936953789743104', NULL, 0), + (1704362872049, 6, 'Cotton', 1704362871734, '126936953789743104', NULL, 0), + (1704362872050, 6, 'Couch', 1704362871734, '126936953789743104', NULL, 0), + (1704362872051, 6, 'Cougar', 1704362871734, '126936953789743104', NULL, 0), + (1704362872052, 6, 'Cough', 1704362871734, '126936953789743104', NULL, 0), + (1704362872053, 6, 'Country', 1704362871734, '126936953789743104', NULL, 0), + (1704362872054, 6, 'Couple', 1704362871734, '126936953789743104', NULL, 0), + (1704362872055, 6, 'Court', 1704362871734, '126936953789743104', NULL, 0), + (1704362872056, 6, 'Cover', 1704362871734, '126936953789743104', NULL, 0), + (1704362872057, 6, 'Cow', 1704362871734, '126936953789743104', NULL, 0), + (1704362872058, 6, 'Cowboy', 1704362871734, '126936953789743104', NULL, 0), + (1704362872059, 6, 'Cowgirl', 1704362871734, '126936953789743104', NULL, 0), + (1704362872060, 6, 'Coyote', 1704362871734, '126936953789743104', NULL, 0), + (1704362872061, 6, 'Crab', 1704362871734, '126936953789743104', NULL, 0), + (1704362872062, 6, 'Crabs', 1704362871734, '126936953789743104', NULL, 0), + (1704362872063, 6, 'Crack', 1704362871734, '126936953789743104', NULL, 0), + (1704362872064, 6, 'Craft', 1704362871734, '126936953789743104', NULL, 0), + (1704362872065, 6, 'Crane', 1704362871734, '126936953789743104', NULL, 0), + (1704362872066, 6, 'Crap', 1704362871734, '126936953789743104', NULL, 0), + (1704362872067, 6, 'Crash', 1704362871734, '126936953789743104', NULL, 0), + (1704362872068, 6, 'Crayon', 1704362871734, '126936953789743104', NULL, 0), + (1704362872069, 6, 'Cream', 1704362871734, '126936953789743104', NULL, 0), + (1704362872070, 6, 'Cricket', 1704362871734, '126936953789743104', NULL, 0), + (1704362872071, 6, 'Crisp', 1704362871734, '126936953789743104', NULL, 0), + (1704362872072, 6, 'Cross', 1704362871734, '126936953789743104', NULL, 0), + (1704362872073, 6, 'Crow', 1704362871734, '126936953789743104', NULL, 0), + (1704362872074, 6, 'Crown', 1704362871734, '126936953789743104', NULL, 0), + (1704362872075, 6, 'Crumb', 1704362871734, '126936953789743104', NULL, 0), + (1704362872076, 6, 'Crusader', 1704362871734, '126936953789743104', NULL, 0), + (1704362872077, 6, 'Crystal', 1704362871734, '126936953789743104', NULL, 0), + (1704362872078, 6, 'Cuckoo', 1704362871734, '126936953789743104', NULL, 0), + (1704362872079, 6, 'Cucumber', 1704362871734, '126936953789743104', NULL, 0), + (1704362872080, 6, 'Cuddle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872081, 6, 'Cuffs', 1704362871734, '126936953789743104', NULL, 0), + (1704362872082, 6, 'Cup', 1704362871734, '126936953789743104', NULL, 0), + (1704362872083, 6, 'Cupcake', 1704362871734, '126936953789743104', NULL, 0), + (1704362872084, 6, 'Curry', 1704362871734, '126936953789743104', NULL, 0), + (1704362872085, 6, 'Cycle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872086, 6, 'Czar', 1704362871734, '126936953789743104', NULL, 0), + (1704362872087, 6, 'Czech', 1704362871734, '126936953789743104', NULL, 0), + (1704362872088, 6, 'Dad', 1704362871734, '126936953789743104', NULL, 0), + (1704362872089, 6, 'Daddy', 1704362871734, '126936953789743104', NULL, 0), + (1704362872090, 6, 'Dame', 1704362871734, '126936953789743104', NULL, 0), + (1704362872091, 6, 'Dance', 1704362871734, '126936953789743104', NULL, 0), + (1704362872092, 6, 'Darkness', 1704362871734, '126936953789743104', NULL, 0), + (1704362872093, 6, 'Dash', 1704362871734, '126936953789743104', NULL, 0), + (1704362872094, 6, 'Dashboard', 1704362871734, '126936953789743104', NULL, 0), + (1704362872095, 6, 'Date', 1704362871734, '126936953789743104', NULL, 0), + (1704362872096, 6, 'Day', 1704362871734, '126936953789743104', NULL, 0), + (1704362872097, 6, 'Death', 1704362871734, '126936953789743104', NULL, 0), + (1704362872098, 6, 'Deck', 1704362871734, '126936953789743104', NULL, 0), + (1704362872099, 6, 'Deep', 1704362871734, '126936953789743104', NULL, 0), + (1704362872100, 6, 'Degree', 1704362871734, '126936953789743104', NULL, 0), + (1704362872101, 6, 'Delta', 1704362871734, '126936953789743104', NULL, 0), + (1704362872102, 6, 'Dentist', 1704362871734, '126936953789743104', NULL, 0), + (1704362872103, 6, 'Desk', 1704362871734, '126936953789743104', NULL, 0), + (1704362872104, 6, 'Diagonal', 1704362871734, '126936953789743104', NULL, 0), + (1704362872105, 6, 'Diamond', 1704362871734, '126936953789743104', NULL, 0), + (1704362872106, 6, 'Diarrhea', 1704362871734, '126936953789743104', NULL, 0), + (1704362872107, 6, 'Dice', 1704362871734, '126936953789743104', NULL, 0), + (1704362872108, 6, 'Dick', 1704362871734, '126936953789743104', NULL, 0), + (1704362872109, 6, 'Dictionary', 1704362871734, '126936953789743104', NULL, 0), + (1704362872110, 6, 'Dildo', 1704362871734, '126936953789743104', NULL, 0), + (1704362872111, 6, 'Dinosaur', 1704362871734, '126936953789743104', NULL, 0), + (1704362872112, 6, 'Director', 1704362871734, '126936953789743104', NULL, 0), + (1704362872113, 6, 'Dirty', 1704362871734, '126936953789743104', NULL, 0), + (1704362872114, 6, 'Disease', 1704362871734, '126936953789743104', NULL, 0), + (1704362872115, 6, 'Disk', 1704362871734, '126936953789743104', NULL, 0), + (1704362872116, 6, 'Ditch', 1704362871734, '126936953789743104', NULL, 0), + (1704362872117, 6, 'Dizzy', 1704362871734, '126936953789743104', NULL, 0), + (1704362872118, 6, 'Dock', 1704362871734, '126936953789743104', NULL, 0), + (1704362872119, 6, 'Doctor', 1704362871734, '126936953789743104', NULL, 0), + (1704362872120, 6, 'Dog', 1704362871734, '126936953789743104', NULL, 0), + (1704362872121, 6, 'Doggy', 1704362871734, '126936953789743104', NULL, 0), + (1704362872122, 6, 'Doghouse', 1704362871734, '126936953789743104', NULL, 0), + (1704362872123, 6, 'Doll', 1704362871734, '126936953789743104', NULL, 0), + (1704362872124, 6, 'Dollar', 1704362871734, '126936953789743104', NULL, 0), + (1704362872125, 6, 'Dominate', 1704362871734, '126936953789743104', NULL, 0), + (1704362872126, 6, 'Dominoes', 1704362871734, '126936953789743104', NULL, 0), + (1704362872127, 6, 'Donkey', 1704362871734, '126936953789743104', NULL, 0), + (1704362872128, 6, 'Door', 1704362871734, '126936953789743104', NULL, 0), + (1704362872129, 6, 'Dorsal', 1704362871734, '126936953789743104', NULL, 0), + (1704362872130, 6, 'Double', 1704362871734, '126936953789743104', NULL, 0), + (1704362872131, 6, 'Douche', 1704362871734, '126936953789743104', NULL, 0), + (1704362872132, 6, 'Down', 1704362871734, '126936953789743104', NULL, 0), + (1704362872133, 6, 'Download', 1704362871734, '126936953789743104', NULL, 0), + (1704362872134, 6, 'Draft', 1704362871734, '126936953789743104', NULL, 0), + (1704362872135, 6, 'Drag', 1704362871734, '126936953789743104', NULL, 0), + (1704362872136, 6, 'Dragon', 1704362871734, '126936953789743104', NULL, 0), + (1704362872137, 6, 'Draw', 1704362871734, '126936953789743104', NULL, 0), + (1704362872138, 6, 'Drawback', 1704362871734, '126936953789743104', NULL, 0), + (1704362872139, 6, 'Drawing', 1704362871734, '126936953789743104', NULL, 0), + (1704362872140, 6, 'Dream', 1704362871734, '126936953789743104', NULL, 0), + (1704362872141, 6, 'Dress', 1704362871734, '126936953789743104', NULL, 0), + (1704362872142, 6, 'Dressing', 1704362871734, '126936953789743104', NULL, 0), + (1704362872143, 6, 'Drill', 1704362871734, '126936953789743104', NULL, 0), + (1704362872144, 6, 'Dripping', 1704362871734, '126936953789743104', NULL, 0), + (1704362872145, 6, 'Driver', 1704362871734, '126936953789743104', NULL, 0), + (1704362872146, 6, 'Drone', 1704362871734, '126936953789743104', NULL, 0), + (1704362872147, 6, 'Drop', 1704362871734, '126936953789743104', NULL, 0), + (1704362872148, 6, 'Drought', 1704362871734, '126936953789743104', NULL, 0), + (1704362872149, 6, 'Drum', 1704362871734, '126936953789743104', NULL, 0), + (1704362872150, 6, 'Drunk', 1704362871734, '126936953789743104', NULL, 0), + (1704362872151, 6, 'Dryer', 1704362871734, '126936953789743104', NULL, 0), + (1704362872152, 6, 'Duck', 1704362871734, '126936953789743104', NULL, 0), + (1704362872153, 6, 'Dump Truck', 1704362871734, '126936953789743104', NULL, 0), + (1704362872154, 6, 'Dust', 1704362871734, '126936953789743104', NULL, 0), + (1704362872155, 6, 'Dwarf', 1704362871734, '126936953789743104', NULL, 0), + (1704362872156, 6, 'Eagle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872157, 6, 'Ear', 1704362871734, '126936953789743104', NULL, 0), + (1704362872158, 6, 'Earache', 1704362871734, '126936953789743104', NULL, 0), + (1704362872159, 6, 'Earth', 1704362871734, '126936953789743104', NULL, 0), + (1704362872160, 6, 'Earthquake', 1704362871734, '126936953789743104', NULL, 0), + (1704362872161, 6, 'Easel', 1704362871734, '126936953789743104', NULL, 0), + (1704362872162, 6, 'Easter', 1704362871734, '126936953789743104', NULL, 0), + (1704362872163, 6, 'Eat', 1704362871734, '126936953789743104', NULL, 0), + (1704362872164, 6, 'Eden', 1704362871734, '126936953789743104', NULL, 0), + (1704362872165, 6, 'Egg', 1704362871734, '126936953789743104', NULL, 0), + (1704362872166, 6, 'Egypt', 1704362871734, '126936953789743104', NULL, 0), + (1704362872167, 6, 'Einstein', 1704362871734, '126936953789743104', NULL, 0), + (1704362872168, 6, 'Elbow', 1704362871734, '126936953789743104', NULL, 0), + (1704362872169, 6, 'Electricity', 1704362871734, '126936953789743104', NULL, 0), + (1704362872170, 6, 'Elephant', 1704362871734, '126936953789743104', NULL, 0), + (1704362872171, 6, 'Elevator', 1704362871734, '126936953789743104', NULL, 0), + (1704362872172, 6, 'Elf', 1704362871734, '126936953789743104', NULL, 0), + (1704362872173, 6, 'Embassy', 1704362871734, '126936953789743104', NULL, 0), + (1704362872174, 6, 'Emission', 1704362871734, '126936953789743104', NULL, 0), + (1704362872175, 6, 'Engine', 1704362871734, '126936953789743104', NULL, 0), + (1704362872176, 6, 'England', 1704362871734, '126936953789743104', NULL, 0), + (1704362872177, 6, 'Escort', 1704362871734, '126936953789743104', NULL, 0), + (1704362872178, 6, 'Eureka', 1704362871734, '126936953789743104', NULL, 0), + (1704362872179, 6, 'Europe', 1704362871734, '126936953789743104', NULL, 0), + (1704362872180, 6, 'Exercise', 1704362871734, '126936953789743104', NULL, 0), + (1704362872181, 6, 'Experiment', 1704362871734, '126936953789743104', NULL, 0), + (1704362872182, 6, 'Exponential', 1704362871734, '126936953789743104', NULL, 0), + (1704362872183, 6, 'Eye', 1704362871734, '126936953789743104', NULL, 0), + (1704362872184, 6, 'Eyebrow', 1704362871734, '126936953789743104', NULL, 0), + (1704362872185, 6, 'Eyes', 1704362871734, '126936953789743104', NULL, 0), + (1704362872186, 6, 'Fabric', 1704362871734, '126936953789743104', NULL, 0), + (1704362872187, 6, 'Face', 1704362871734, '126936953789743104', NULL, 0), + (1704362872188, 6, 'Facial', 1704362871734, '126936953789743104', NULL, 0), + (1704362872189, 6, 'Fair', 1704362871734, '126936953789743104', NULL, 0), + (1704362872190, 6, 'Fall', 1704362871734, '126936953789743104', NULL, 0), + (1704362872191, 6, 'Fan', 1704362871734, '126936953789743104', NULL, 0), + (1704362872192, 6, 'Fantasy', 1704362871734, '126936953789743104', NULL, 0), + (1704362872193, 6, 'Farm', 1704362871734, '126936953789743104', NULL, 0), + (1704362872194, 6, 'Fast', 1704362871734, '126936953789743104', NULL, 0), + (1704362872195, 6, 'Fatty', 1704362871734, '126936953789743104', NULL, 0), + (1704362872196, 6, 'Feather', 1704362871734, '126936953789743104', NULL, 0), + (1704362872197, 6, 'Fecal', 1704362871734, '126936953789743104', NULL, 0), + (1704362872198, 6, 'Fence', 1704362871734, '126936953789743104', NULL, 0), + (1704362872199, 6, 'Fetch', 1704362871734, '126936953789743104', NULL, 0), + (1704362872200, 6, 'Fetish', 1704362871734, '126936953789743104', NULL, 0), + (1704362872201, 6, 'Fever', 1704362871734, '126936953789743104', NULL, 0), + (1704362872202, 6, 'Fiddle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872203, 6, 'Field', 1704362871734, '126936953789743104', NULL, 0), + (1704362872204, 6, 'Fighter', 1704362871734, '126936953789743104', NULL, 0), + (1704362872205, 6, 'Figment', 1704362871734, '126936953789743104', NULL, 0), + (1704362872206, 6, 'Figure', 1704362871734, '126936953789743104', NULL, 0), + (1704362872207, 6, 'File', 1704362871734, '126936953789743104', NULL, 0), + (1704362872208, 6, 'Film', 1704362871734, '126936953789743104', NULL, 0), + (1704362872209, 6, 'Finger', 1704362871734, '126936953789743104', NULL, 0), + (1704362872210, 6, 'Fire Engine', 1704362871734, '126936953789743104', NULL, 0), + (1704362872211, 6, 'Fire', 1704362871734, '126936953789743104', NULL, 0), + (1704362872212, 6, 'Firefighter', 1704362871734, '126936953789743104', NULL, 0), + (1704362872213, 6, 'Fireside', 1704362871734, '126936953789743104', NULL, 0), + (1704362872214, 6, 'Fish', 1704362871734, '126936953789743104', NULL, 0), + (1704362872215, 6, 'Fishing', 1704362871734, '126936953789743104', NULL, 0), + (1704362872216, 6, 'Fist', 1704362871734, '126936953789743104', NULL, 0), + (1704362872217, 6, 'Fix', 1704362871734, '126936953789743104', NULL, 0), + (1704362872218, 6, 'Flag', 1704362871734, '126936953789743104', NULL, 0), + (1704362872219, 6, 'Flagpole', 1704362871734, '126936953789743104', NULL, 0), + (1704362872220, 6, 'Flash', 1704362871734, '126936953789743104', NULL, 0), + (1704362872221, 6, 'Flashlight', 1704362871734, '126936953789743104', NULL, 0), + (1704362872222, 6, 'Flat', 1704362871734, '126936953789743104', NULL, 0), + (1704362872223, 6, 'Flesh', 1704362871734, '126936953789743104', NULL, 0), + (1704362872224, 6, 'Flock', 1704362871734, '126936953789743104', NULL, 0), + (1704362872225, 6, 'Flood', 1704362871734, '126936953789743104', NULL, 0), + (1704362872226, 6, 'Floor', 1704362871734, '126936953789743104', NULL, 0), + (1704362872227, 6, 'Flower', 1704362871734, '126936953789743104', NULL, 0), + (1704362872228, 6, 'Fluff', 1704362871734, '126936953789743104', NULL, 0), + (1704362872229, 6, 'Flute', 1704362871734, '126936953789743104', NULL, 0), + (1704362872230, 6, 'Flutter', 1704362871734, '126936953789743104', NULL, 0), + (1704362872231, 6, 'Fly', 1704362871734, '126936953789743104', NULL, 0), + (1704362872232, 6, 'Foam', 1704362871734, '126936953789743104', NULL, 0), + (1704362872233, 6, 'Fog', 1704362871734, '126936953789743104', NULL, 0), + (1704362872234, 6, 'Foil', 1704362871734, '126936953789743104', NULL, 0), + (1704362872235, 6, 'Foot', 1704362871734, '126936953789743104', NULL, 0), + (1704362872236, 6, 'Football', 1704362871734, '126936953789743104', NULL, 0), + (1704362872237, 6, 'Force', 1704362871734, '126936953789743104', NULL, 0), + (1704362872238, 6, 'Forehead', 1704362871734, '126936953789743104', NULL, 0), + (1704362872239, 6, 'Foreskin', 1704362871734, '126936953789743104', NULL, 0), + (1704362872240, 6, 'Forest', 1704362871734, '126936953789743104', NULL, 0), + (1704362872241, 6, 'Fork', 1704362871734, '126936953789743104', NULL, 0), + (1704362872242, 6, 'France', 1704362871734, '126936953789743104', NULL, 0), + (1704362872243, 6, 'Freak', 1704362871734, '126936953789743104', NULL, 0), + (1704362872244, 6, 'Freckle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872245, 6, 'Freckles', 1704362871734, '126936953789743104', NULL, 0), + (1704362872246, 6, 'French', 1704362871734, '126936953789743104', NULL, 0), + (1704362872247, 6, 'Friction', 1704362871734, '126936953789743104', NULL, 0), + (1704362872248, 6, 'Frog', 1704362871734, '126936953789743104', NULL, 0), + (1704362872249, 6, 'Front', 1704362871734, '126936953789743104', NULL, 0), + (1704362872250, 6, 'Frost', 1704362871734, '126936953789743104', NULL, 0), + (1704362872251, 6, 'Frown', 1704362871734, '126936953789743104', NULL, 0), + (1704362872252, 6, 'Fuel', 1704362871734, '126936953789743104', NULL, 0), + (1704362872253, 6, 'Funny', 1704362871734, '126936953789743104', NULL, 0), + (1704362872254, 6, 'Furry', 1704362871734, '126936953789743104', NULL, 0), + (1704362872255, 6, 'G-spot', 1704362871734, '126936953789743104', NULL, 0), + (1704362872256, 6, 'Gag', 1704362871734, '126936953789743104', NULL, 0), + (1704362872257, 6, 'Gallop', 1704362871734, '126936953789743104', NULL, 0), + (1704362872258, 6, 'Game', 1704362871734, '126936953789743104', NULL, 0), + (1704362872259, 6, 'Gang', 1704362871734, '126936953789743104', NULL, 0), + (1704362872260, 6, 'Gangbang', 1704362871734, '126936953789743104', NULL, 0), + (1704362872261, 6, 'Gangster', 1704362871734, '126936953789743104', NULL, 0), + (1704362872262, 6, 'Garbage', 1704362871734, '126936953789743104', NULL, 0), + (1704362872263, 6, 'Garden', 1704362871734, '126936953789743104', NULL, 0), + (1704362872264, 6, 'Gas', 1704362871734, '126936953789743104', NULL, 0), + (1704362872265, 6, 'Gash', 1704362871734, '126936953789743104', NULL, 0), + (1704362872266, 6, 'Gay', 1704362871734, '126936953789743104', NULL, 0), + (1704362872267, 6, 'Gear', 1704362871734, '126936953789743104', NULL, 0), + (1704362872268, 6, 'Genie', 1704362871734, '126936953789743104', NULL, 0), + (1704362872269, 6, 'Genius', 1704362871734, '126936953789743104', NULL, 0), + (1704362872270, 6, 'Gerbil', 1704362871734, '126936953789743104', NULL, 0), + (1704362872271, 6, 'Germany', 1704362871734, '126936953789743104', NULL, 0), + (1704362872272, 6, 'Ghost', 1704362871734, '126936953789743104', NULL, 0), + (1704362872273, 6, 'Giant', 1704362871734, '126936953789743104', NULL, 0), + (1704362872274, 6, 'Gigolo', 1704362871734, '126936953789743104', NULL, 0), + (1704362872275, 6, 'Gingerbread Man', 1704362871734, '126936953789743104', NULL, 0), + (1704362872276, 6, 'Giraffe', 1704362871734, '126936953789743104', NULL, 0), + (1704362872277, 6, 'Girl', 1704362871734, '126936953789743104', NULL, 0), + (1704362872278, 6, 'Glacier', 1704362871734, '126936953789743104', NULL, 0), + (1704362872279, 6, 'Glass', 1704362871734, '126936953789743104', NULL, 0), + (1704362872280, 6, 'Glasses', 1704362871734, '126936953789743104', NULL, 0), + (1704362872281, 6, 'Glide', 1704362871734, '126936953789743104', NULL, 0), + (1704362872282, 6, 'Glitter', 1704362871734, '126936953789743104', NULL, 0), + (1704362872283, 6, 'Glove', 1704362871734, '126936953789743104', NULL, 0), + (1704362872284, 6, 'Glue Stick', 1704362871734, '126936953789743104', NULL, 0), + (1704362872285, 6, 'Goat', 1704362871734, '126936953789743104', NULL, 0), + (1704362872286, 6, 'Goblin', 1704362871734, '126936953789743104', NULL, 0), + (1704362872287, 6, 'Gold', 1704362871734, '126936953789743104', NULL, 0), + (1704362872288, 6, 'Goldilocks', 1704362871734, '126936953789743104', NULL, 0), + (1704362872289, 6, 'Golf', 1704362871734, '126936953789743104', NULL, 0), + (1704362872290, 6, 'Goodbye', 1704362871734, '126936953789743104', NULL, 0), + (1704362872291, 6, 'Goose', 1704362871734, '126936953789743104', NULL, 0), + (1704362872292, 6, 'Governor', 1704362871734, '126936953789743104', NULL, 0), + (1704362872293, 6, 'Grace', 1704362871734, '126936953789743104', NULL, 0), + (1704362872294, 6, 'Grandfather', 1704362871734, '126936953789743104', NULL, 0), + (1704362872295, 6, 'Grandma', 1704362871734, '126936953789743104', NULL, 0), + (1704362872296, 6, 'Grape', 1704362871734, '126936953789743104', NULL, 0), + (1704362872297, 6, 'Grass', 1704362871734, '126936953789743104', NULL, 0), + (1704362872298, 6, 'Greece', 1704362871734, '126936953789743104', NULL, 0), + (1704362872299, 6, 'Green', 1704362871734, '126936953789743104', NULL, 0), + (1704362872300, 6, 'Greenhouse', 1704362871734, '126936953789743104', NULL, 0), + (1704362872301, 6, 'Grill', 1704362871734, '126936953789743104', NULL, 0), + (1704362872302, 6, 'Groom', 1704362871734, '126936953789743104', NULL, 0), + (1704362872303, 6, 'Grope', 1704362871734, '126936953789743104', NULL, 0), + (1704362872304, 6, 'Ground', 1704362871734, '126936953789743104', NULL, 0), + (1704362872305, 6, 'Group', 1704362871734, '126936953789743104', NULL, 0), + (1704362872306, 6, 'Grown-up', 1704362871734, '126936953789743104', NULL, 0), + (1704362872307, 6, 'Guitar', 1704362871734, '126936953789743104', NULL, 0), + (1704362872308, 6, 'Gum', 1704362871734, '126936953789743104', NULL, 0), + (1704362872309, 6, 'Gumball', 1704362871734, '126936953789743104', NULL, 0), + (1704362872310, 6, 'Gymnast', 1704362871734, '126936953789743104', NULL, 0), + (1704362872311, 6, 'Hail', 1704362871734, '126936953789743104', NULL, 0), + (1704362872312, 6, 'Hair', 1704362871734, '126936953789743104', NULL, 0), + (1704362872313, 6, 'Half', 1704362871734, '126936953789743104', NULL, 0), + (1704362872314, 6, 'Halloween', 1704362871734, '126936953789743104', NULL, 0), + (1704362872315, 6, 'Ham', 1704362871734, '126936953789743104', NULL, 0), + (1704362872316, 6, 'Hamburger', 1704362871734, '126936953789743104', NULL, 0), + (1704362872317, 6, 'Hammer', 1704362871734, '126936953789743104', NULL, 0), + (1704362872318, 6, 'Hamster', 1704362871734, '126936953789743104', NULL, 0), + (1704362872319, 6, 'Hand', 1704362871734, '126936953789743104', NULL, 0), + (1704362872320, 6, 'Happy', 1704362871734, '126936953789743104', NULL, 0), + (1704362872321, 6, 'Hat', 1704362871734, '126936953789743104', NULL, 0), + (1704362872322, 6, 'Hawaii', 1704362871734, '126936953789743104', NULL, 0), + (1704362872323, 6, 'Hawk', 1704362871734, '126936953789743104', NULL, 0), + (1704362872324, 6, 'Head', 1704362871734, '126936953789743104', NULL, 0), + (1704362872325, 6, 'Headache', 1704362871734, '126936953789743104', NULL, 0), + (1704362872326, 6, 'Headboard', 1704362871734, '126936953789743104', NULL, 0), + (1704362872327, 6, 'Headlights', 1704362871734, '126936953789743104', NULL, 0), + (1704362872328, 6, 'Heart', 1704362871734, '126936953789743104', NULL, 0), + (1704362872329, 6, 'Helicopter', 1704362871734, '126936953789743104', NULL, 0), + (1704362872330, 6, 'Hell', 1704362871734, '126936953789743104', NULL, 0), + (1704362872331, 6, 'Helmet', 1704362871734, '126936953789743104', NULL, 0), + (1704362872332, 6, 'Herb', 1704362871734, '126936953789743104', NULL, 0), + (1704362872333, 6, 'Hercules', 1704362871734, '126936953789743104', NULL, 0), + (1704362872334, 6, 'Hide', 1704362871734, '126936953789743104', NULL, 0), + (1704362872335, 6, 'Hide-and-Seek', 1704362871734, '126936953789743104', NULL, 0), + (1704362872336, 6, 'High', 1704362871734, '126936953789743104', NULL, 0), + (1704362872337, 6, 'Hill', 1704362871734, '126936953789743104', NULL, 0), + (1704362872338, 6, 'Himalayas', 1704362871734, '126936953789743104', NULL, 0), + (1704362872339, 6, 'Hippo', 1704362871734, '126936953789743104', NULL, 0), + (1704362872340, 6, 'Hit', 1704362871734, '126936953789743104', NULL, 0), + (1704362872341, 6, 'Hockey', 1704362871734, '126936953789743104', NULL, 0), + (1704362872342, 6, 'Hole', 1704362871734, '126936953789743104', NULL, 0), + (1704362872343, 6, 'Hollywood', 1704362871734, '126936953789743104', NULL, 0), + (1704362872344, 6, 'Home', 1704362871734, '126936953789743104', NULL, 0), + (1704362872345, 6, 'Homer', 1704362871734, '126936953789743104', NULL, 0), + (1704362872346, 6, 'Homerun', 1704362871734, '126936953789743104', NULL, 0), + (1704362872347, 6, 'Homework', 1704362871734, '126936953789743104', NULL, 0), + (1704362872348, 6, 'Honey', 1704362871734, '126936953789743104', NULL, 0), + (1704362872349, 6, 'Hood', 1704362871734, '126936953789743104', NULL, 0), + (1704362872350, 6, 'Hook', 1704362871734, '126936953789743104', NULL, 0), + (1704362872351, 6, 'Hooker', 1704362871734, '126936953789743104', NULL, 0), + (1704362872352, 6, 'Hooters', 1704362871734, '126936953789743104', NULL, 0), + (1704362872353, 6, 'Hopscotch', 1704362871734, '126936953789743104', NULL, 0), + (1704362872354, 6, 'Horn', 1704362871734, '126936953789743104', NULL, 0), + (1704362872355, 6, 'Horny', 1704362871734, '126936953789743104', NULL, 0), + (1704362872356, 6, 'Horse', 1704362871734, '126936953789743104', NULL, 0), + (1704362872357, 6, 'Horseshoe', 1704362871734, '126936953789743104', NULL, 0), + (1704362872358, 6, 'Hose', 1704362871734, '126936953789743104', NULL, 0), + (1704362872359, 6, 'Hospital', 1704362871734, '126936953789743104', NULL, 0), + (1704362872360, 6, 'Hot Dog', 1704362871734, '126936953789743104', NULL, 0), + (1704362872361, 6, 'Hot', 1704362871734, '126936953789743104', NULL, 0), + (1704362872362, 6, 'Hotel', 1704362871734, '126936953789743104', NULL, 0), + (1704362872363, 6, 'House', 1704362871734, '126936953789743104', NULL, 0), + (1704362872364, 6, 'Huddle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872365, 6, 'Hug', 1704362871734, '126936953789743104', NULL, 0), + (1704362872366, 6, 'Hump', 1704362871734, '126936953789743104', NULL, 0), + (1704362872367, 6, 'Hungry', 1704362871734, '126936953789743104', NULL, 0), + (1704362872368, 6, 'Hurdle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872369, 6, 'Hurl', 1704362871734, '126936953789743104', NULL, 0), + (1704362872370, 6, 'Hurt', 1704362871734, '126936953789743104', NULL, 0), + (1704362872371, 6, 'Husband', 1704362871734, '126936953789743104', NULL, 0), + (1704362872372, 6, 'Hydrogen', 1704362871734, '126936953789743104', NULL, 0), + (1704362872373, 6, 'Ice Age', 1704362871734, '126936953789743104', NULL, 0), + (1704362872374, 6, 'Ice Cream Cone', 1704362871734, '126936953789743104', NULL, 0), + (1704362872375, 6, 'Ice Cream', 1704362871734, '126936953789743104', NULL, 0), + (1704362872376, 6, 'Ice', 1704362871734, '126936953789743104', NULL, 0), + (1704362872377, 6, 'Iceland', 1704362871734, '126936953789743104', NULL, 0), + (1704362872378, 6, 'Igloo', 1704362871734, '126936953789743104', NULL, 0), + (1704362872379, 6, 'Implode', 1704362871734, '126936953789743104', NULL, 0), + (1704362872380, 6, 'Important', 1704362871734, '126936953789743104', NULL, 0), + (1704362872381, 6, 'Inch', 1704362871734, '126936953789743104', NULL, 0), + (1704362872382, 6, 'Inchworm', 1704362871734, '126936953789743104', NULL, 0), + (1704362872383, 6, 'India', 1704362871734, '126936953789743104', NULL, 0), + (1704362872384, 6, 'Ink', 1704362871734, '126936953789743104', NULL, 0), + (1704362872385, 6, 'Intern', 1704362871734, '126936953789743104', NULL, 0), + (1704362872386, 6, 'Internet', 1704362871734, '126936953789743104', NULL, 0), + (1704362872387, 6, 'Ipad', 1704362871734, '126936953789743104', NULL, 0), + (1704362872388, 6, 'Ipod', 1704362871734, '126936953789743104', NULL, 0), + (1704362872389, 6, 'Iron', 1704362871734, '126936953789743104', NULL, 0), + (1704362872390, 6, 'Ironic', 1704362871734, '126936953789743104', NULL, 0), + (1704362872391, 6, 'Ironing Board', 1704362871734, '126936953789743104', NULL, 0), + (1704362872392, 6, 'Ivory', 1704362871734, '126936953789743104', NULL, 0), + (1704362872393, 6, 'Jack', 1704362871734, '126936953789743104', NULL, 0), + (1704362872394, 6, 'Jacket', 1704362871734, '126936953789743104', NULL, 0), + (1704362872395, 6, 'Jail', 1704362871734, '126936953789743104', NULL, 0), + (1704362872396, 6, 'Jam', 1704362871734, '126936953789743104', NULL, 0), + (1704362872397, 6, 'Jar', 1704362871734, '126936953789743104', NULL, 0), + (1704362872398, 6, 'Jazz', 1704362871734, '126936953789743104', NULL, 0), + (1704362872399, 6, 'Jeans', 1704362871734, '126936953789743104', NULL, 0), + (1704362872400, 6, 'Jelly', 1704362871734, '126936953789743104', NULL, 0), + (1704362872401, 6, 'Jellyfish', 1704362871734, '126936953789743104', NULL, 0), + (1704362872402, 6, 'Jerk', 1704362871734, '126936953789743104', NULL, 0), + (1704362872403, 6, 'Jet', 1704362871734, '126936953789743104', NULL, 0), + (1704362872404, 6, 'Jeweler', 1704362871734, '126936953789743104', NULL, 0), + (1704362872405, 6, 'Jewels', 1704362871734, '126936953789743104', NULL, 0), + (1704362872406, 6, 'Joan of Arc', 1704362871734, '126936953789743104', NULL, 0), + (1704362872407, 6, 'Job', 1704362871734, '126936953789743104', NULL, 0), + (1704362872408, 6, 'Jockey', 1704362871734, '126936953789743104', NULL, 0), + (1704362872409, 6, 'John', 1704362871734, '126936953789743104', NULL, 0), + (1704362872410, 6, 'Johnson', 1704362871734, '126936953789743104', NULL, 0), + (1704362872411, 6, 'Joint', 1704362871734, '126936953789743104', NULL, 0), + (1704362872412, 6, 'Joker', 1704362871734, '126936953789743104', NULL, 0), + (1704362872413, 6, 'Joystick', 1704362871734, '126936953789743104', NULL, 0), + (1704362872414, 6, 'Judge', 1704362871734, '126936953789743104', NULL, 0), + (1704362872415, 6, 'Jugs', 1704362871734, '126936953789743104', NULL, 0), + (1704362872416, 6, 'Juice', 1704362871734, '126936953789743104', NULL, 0), + (1704362872417, 6, 'Jump', 1704362871734, '126936953789743104', NULL, 0), + (1704362872418, 6, 'Jumper', 1704362871734, '126936953789743104', NULL, 0), + (1704362872419, 6, 'Jungle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872420, 6, 'Jupiter', 1704362871734, '126936953789743104', NULL, 0), + (1704362872421, 6, 'Kangaroo', 1704362871734, '126936953789743104', NULL, 0), + (1704362872422, 6, 'Keg', 1704362871734, '126936953789743104', NULL, 0), + (1704362872423, 6, 'Ketchup', 1704362871734, '126936953789743104', NULL, 0), + (1704362872424, 6, 'Key', 1704362871734, '126936953789743104', NULL, 0), + (1704362872425, 6, 'Kick', 1704362871734, '126936953789743104', NULL, 0), + (1704362872426, 6, 'Kid', 1704362871734, '126936953789743104', NULL, 0), + (1704362872427, 6, 'Kilogram', 1704362871734, '126936953789743104', NULL, 0), + (1704362872428, 6, 'Kilt', 1704362871734, '126936953789743104', NULL, 0), + (1704362872429, 6, 'King Arthur', 1704362871734, '126936953789743104', NULL, 0), + (1704362872430, 6, 'King', 1704362871734, '126936953789743104', NULL, 0), + (1704362872431, 6, 'Kinky', 1704362871734, '126936953789743104', NULL, 0), + (1704362872432, 6, 'Kiss', 1704362871734, '126936953789743104', NULL, 0), + (1704362872433, 6, 'Kitchen', 1704362871734, '126936953789743104', NULL, 0), + (1704362872434, 6, 'Kite', 1704362871734, '126936953789743104', NULL, 0), + (1704362872435, 6, 'Kitty', 1704362871734, '126936953789743104', NULL, 0), + (1704362872436, 6, 'Kiwi', 1704362871734, '126936953789743104', NULL, 0), + (1704362872437, 6, 'Knee', 1704362871734, '126936953789743104', NULL, 0), + (1704362872438, 6, 'Knees', 1704362871734, '126936953789743104', NULL, 0), + (1704362872439, 6, 'Knife', 1704362871734, '126936953789743104', NULL, 0), + (1704362872440, 6, 'Knight', 1704362871734, '126936953789743104', NULL, 0), + (1704362872441, 6, 'Knob', 1704362871734, '126936953789743104', NULL, 0), + (1704362872442, 6, 'Knockers', 1704362871734, '126936953789743104', NULL, 0), + (1704362872443, 6, 'Knot', 1704362871734, '126936953789743104', NULL, 0), + (1704362872444, 6, 'Kung Fu', 1704362871734, '126936953789743104', NULL, 0), + (1704362872445, 6, 'Lab', 1704362871734, '126936953789743104', NULL, 0), + (1704362872446, 6, 'Lace', 1704362871734, '126936953789743104', NULL, 0), + (1704362872447, 6, 'Ladder', 1704362871734, '126936953789743104', NULL, 0), + (1704362872448, 6, 'Ladybug', 1704362871734, '126936953789743104', NULL, 0), + (1704362872449, 6, 'Lamp', 1704362871734, '126936953789743104', NULL, 0), + (1704362872450, 6, 'Landfill', 1704362871734, '126936953789743104', NULL, 0), + (1704362872451, 6, 'Landscape', 1704362871734, '126936953789743104', NULL, 0), + (1704362872452, 6, 'Lap', 1704362871734, '126936953789743104', NULL, 0), + (1704362872453, 6, 'Laser', 1704362871734, '126936953789743104', NULL, 0), + (1704362872454, 6, 'Latex', 1704362871734, '126936953789743104', NULL, 0), + (1704362872455, 6, 'Laugh', 1704362871734, '126936953789743104', NULL, 0), + (1704362872456, 6, 'Laundry', 1704362871734, '126936953789743104', NULL, 0), + (1704362872457, 6, 'Lawnmower', 1704362871734, '126936953789743104', NULL, 0), + (1704362872458, 6, 'Lawyer', 1704362871734, '126936953789743104', NULL, 0), + (1704362872459, 6, 'Lead', 1704362871734, '126936953789743104', NULL, 0), + (1704362872460, 6, 'Leaf', 1704362871734, '126936953789743104', NULL, 0), + (1704362872461, 6, 'Leather', 1704362871734, '126936953789743104', NULL, 0), + (1704362872462, 6, 'Leg', 1704362871734, '126936953789743104', NULL, 0), + (1704362872463, 6, 'Legend', 1704362871734, '126936953789743104', NULL, 0), + (1704362872464, 6, 'Legs', 1704362871734, '126936953789743104', NULL, 0), + (1704362872465, 6, 'Lemon', 1704362871734, '126936953789743104', NULL, 0), + (1704362872466, 6, 'Lemonade', 1704362871734, '126936953789743104', NULL, 0), + (1704362872467, 6, 'Leprechaun', 1704362871734, '126936953789743104', NULL, 0), + (1704362872468, 6, 'Letter Opener', 1704362871734, '126936953789743104', NULL, 0), + (1704362872469, 6, 'Letter', 1704362871734, '126936953789743104', NULL, 0), + (1704362872470, 6, 'Lick', 1704362871734, '126936953789743104', NULL, 0), + (1704362872471, 6, 'Lie', 1704362871734, '126936953789743104', NULL, 0), + (1704362872472, 6, 'Life', 1704362871734, '126936953789743104', NULL, 0), + (1704362872473, 6, 'Ligament', 1704362871734, '126936953789743104', NULL, 0), + (1704362872474, 6, 'Light Bulb', 1704362871734, '126936953789743104', NULL, 0), + (1704362872475, 6, 'Light', 1704362871734, '126936953789743104', NULL, 0), + (1704362872476, 6, 'Lighter', 1704362871734, '126936953789743104', NULL, 0), + (1704362872477, 6, 'Lightning', 1704362871734, '126936953789743104', NULL, 0), + (1704362872478, 6, 'Lightsaber', 1704362871734, '126936953789743104', NULL, 0), + (1704362872479, 6, 'Lime', 1704362871734, '126936953789743104', NULL, 0), + (1704362872480, 6, 'Limousine', 1704362871734, '126936953789743104', NULL, 0), + (1704362872481, 6, 'Line', 1704362871734, '126936953789743104', NULL, 0), + (1704362872482, 6, 'Lingerie', 1704362871734, '126936953789743104', NULL, 0), + (1704362872483, 6, 'Link', 1704362871734, '126936953789743104', NULL, 0), + (1704362872484, 6, 'Lion', 1704362871734, '126936953789743104', NULL, 0), + (1704362872485, 6, 'Lip', 1704362871734, '126936953789743104', NULL, 0), + (1704362872486, 6, 'Lips', 1704362871734, '126936953789743104', NULL, 0), + (1704362872487, 6, 'Liquor', 1704362871734, '126936953789743104', NULL, 0), + (1704362872488, 6, 'Litter', 1704362871734, '126936953789743104', NULL, 0), + (1704362872489, 6, 'Living Room', 1704362871734, '126936953789743104', NULL, 0), + (1704362872490, 6, 'Lizard', 1704362871734, '126936953789743104', NULL, 0), + (1704362872491, 6, 'Lobster', 1704362871734, '126936953789743104', NULL, 0), + (1704362872492, 6, 'Loch Ness', 1704362871734, '126936953789743104', NULL, 0), + (1704362872493, 6, 'Lock', 1704362871734, '126936953789743104', NULL, 0), + (1704362872494, 6, 'Locust', 1704362871734, '126936953789743104', NULL, 0), + (1704362872495, 6, 'Log', 1704362871734, '126936953789743104', NULL, 0), + (1704362872496, 6, 'Logo', 1704362871734, '126936953789743104', NULL, 0), + (1704362872497, 6, 'Lollipop', 1704362871734, '126936953789743104', NULL, 0), + (1704362872498, 6, 'London', 1704362871734, '126936953789743104', NULL, 0), + (1704362872499, 6, 'Long', 1704362871734, '126936953789743104', NULL, 0), + (1704362872500, 6, 'Loose', 1704362871734, '126936953789743104', NULL, 0), + (1704362872501, 6, 'Lotion', 1704362871734, '126936953789743104', NULL, 0), + (1704362872502, 6, 'Love', 1704362871734, '126936953789743104', NULL, 0), + (1704362872503, 6, 'Lube', 1704362871734, '126936953789743104', NULL, 0), + (1704362872504, 6, 'Luck', 1704362871734, '126936953789743104', NULL, 0), + (1704362872505, 6, 'Lumberjack', 1704362871734, '126936953789743104', NULL, 0), + (1704362872506, 6, 'Lunch', 1704362871734, '126936953789743104', NULL, 0), + (1704362872507, 6, 'Lunchbox', 1704362871734, '126936953789743104', NULL, 0), + (1704362872508, 6, 'Lust', 1704362871734, '126936953789743104', NULL, 0), + (1704362872509, 6, 'Lyric', 1704362871734, '126936953789743104', NULL, 0), + (1704362872510, 6, 'Macaroni', 1704362871734, '126936953789743104', NULL, 0), + (1704362872511, 6, 'Magazine', 1704362871734, '126936953789743104', NULL, 0), + (1704362872512, 6, 'Magic', 1704362871734, '126936953789743104', NULL, 0), + (1704362872513, 6, 'Magician', 1704362871734, '126936953789743104', NULL, 0), + (1704362872514, 6, 'Mail', 1704362871734, '126936953789743104', NULL, 0), + (1704362872515, 6, 'Mailbox', 1704362871734, '126936953789743104', NULL, 0), + (1704362872516, 6, 'Mailman', 1704362871734, '126936953789743104', NULL, 0), + (1704362872517, 6, 'Makeup', 1704362871734, '126936953789743104', NULL, 0), + (1704362872518, 6, 'Mammoth', 1704362871734, '126936953789743104', NULL, 0), + (1704362872519, 6, 'Manboobs', 1704362871734, '126936953789743104', NULL, 0), + (1704362872520, 6, 'Manicure', 1704362871734, '126936953789743104', NULL, 0), + (1704362872521, 6, 'Map', 1704362871734, '126936953789743104', NULL, 0), + (1704362872522, 6, 'Maple', 1704362871734, '126936953789743104', NULL, 0), + (1704362872523, 6, 'Maracas', 1704362871734, '126936953789743104', NULL, 0), + (1704362872524, 6, 'Marathon', 1704362871734, '126936953789743104', NULL, 0), + (1704362872525, 6, 'Marble', 1704362871734, '126936953789743104', NULL, 0), + (1704362872526, 6, 'March', 1704362871734, '126936953789743104', NULL, 0), + (1704362872527, 6, 'Mark', 1704362871734, '126936953789743104', NULL, 0), + (1704362872528, 6, 'Martini', 1704362871734, '126936953789743104', NULL, 0), + (1704362872529, 6, 'Mass', 1704362871734, '126936953789743104', NULL, 0), + (1704362872530, 6, 'Match', 1704362871734, '126936953789743104', NULL, 0), + (1704362872531, 6, 'Matchstick', 1704362871734, '126936953789743104', NULL, 0), + (1704362872532, 6, 'Mattress', 1704362871734, '126936953789743104', NULL, 0), + (1704362872533, 6, 'Meat', 1704362871734, '126936953789743104', NULL, 0), + (1704362872534, 6, 'Medic', 1704362871734, '126936953789743104', NULL, 0), + (1704362872535, 6, 'Melons', 1704362871734, '126936953789743104', NULL, 0), + (1704362872536, 6, 'Member', 1704362871734, '126936953789743104', NULL, 0), + (1704362872537, 6, 'Memory', 1704362871734, '126936953789743104', NULL, 0), + (1704362872538, 6, 'Mercury', 1704362871734, '126936953789743104', NULL, 0), + (1704362872539, 6, 'Mesh', 1704362871734, '126936953789743104', NULL, 0), + (1704362872540, 6, 'Mess', 1704362871734, '126936953789743104', NULL, 0), + (1704362872541, 6, 'Meter', 1704362871734, '126936953789743104', NULL, 0), + (1704362872542, 6, 'Mexico', 1704362871734, '126936953789743104', NULL, 0), + (1704362872543, 6, 'Microscope', 1704362871734, '126936953789743104', NULL, 0), + (1704362872544, 6, 'Microwave', 1704362871734, '126936953789743104', NULL, 0), + (1704362872545, 6, 'Migrate', 1704362871734, '126936953789743104', NULL, 0), + (1704362872546, 6, 'Mile', 1704362871734, '126936953789743104', NULL, 0), + (1704362872547, 6, 'Milk', 1704362871734, '126936953789743104', NULL, 0), + (1704362872548, 6, 'Mill', 1704362871734, '126936953789743104', NULL, 0), + (1704362872549, 6, 'Millionaire', 1704362871734, '126936953789743104', NULL, 0), + (1704362872550, 6, 'Mime', 1704362871734, '126936953789743104', NULL, 0), + (1704362872551, 6, 'Mine', 1704362871734, '126936953789743104', NULL, 0), + (1704362872552, 6, 'Minotaur', 1704362871734, '126936953789743104', NULL, 0), + (1704362872553, 6, 'Mint', 1704362871734, '126936953789743104', NULL, 0), + (1704362872554, 6, 'Minute', 1704362871734, '126936953789743104', NULL, 0), + (1704362872555, 6, 'Mirror', 1704362871734, '126936953789743104', NULL, 0), + (1704362872556, 6, 'Miss', 1704362871734, '126936953789743104', NULL, 0), + (1704362872557, 6, 'Missile', 1704362871734, '126936953789743104', NULL, 0), + (1704362872558, 6, 'Missionary', 1704362871734, '126936953789743104', NULL, 0), + (1704362872559, 6, 'Mixer', 1704362871734, '126936953789743104', NULL, 0), + (1704362872560, 6, 'Model', 1704362871734, '126936953789743104', NULL, 0), + (1704362872561, 6, 'Mohawk', 1704362871734, '126936953789743104', NULL, 0), + (1704362872562, 6, 'Moist', 1704362871734, '126936953789743104', NULL, 0), + (1704362872563, 6, 'Mole', 1704362871734, '126936953789743104', NULL, 0), + (1704362872564, 6, 'Mom', 1704362871734, '126936953789743104', NULL, 0), + (1704362872565, 6, 'Mona Lisa', 1704362871734, '126936953789743104', NULL, 0), + (1704362872566, 6, 'Monday', 1704362871734, '126936953789743104', NULL, 0), + (1704362872567, 6, 'Money', 1704362871734, '126936953789743104', NULL, 0), + (1704362872568, 6, 'Monkey', 1704362871734, '126936953789743104', NULL, 0), + (1704362872569, 6, 'Monster', 1704362871734, '126936953789743104', NULL, 0), + (1704362872570, 6, 'Moon', 1704362871734, '126936953789743104', NULL, 0), + (1704362872571, 6, 'Mop', 1704362871734, '126936953789743104', NULL, 0), + (1704362872572, 6, 'Moscow', 1704362871734, '126936953789743104', NULL, 0), + (1704362872573, 6, 'Moses', 1704362871734, '126936953789743104', NULL, 0), + (1704362872574, 6, 'Mosquito', 1704362871734, '126936953789743104', NULL, 0), + (1704362872575, 6, 'Motel', 1704362871734, '126936953789743104', NULL, 0), + (1704362872576, 6, 'Mother', 1704362871734, '126936953789743104', NULL, 0), + (1704362872577, 6, 'Motorboat', 1704362871734, '126936953789743104', NULL, 0), + (1704362872578, 6, 'Motorcycle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872579, 6, 'Mount', 1704362871734, '126936953789743104', NULL, 0), + (1704362872580, 6, 'Mountain', 1704362871734, '126936953789743104', NULL, 0), + (1704362872581, 6, 'Mountie', 1704362871734, '126936953789743104', NULL, 0), + (1704362872582, 6, 'Mouse', 1704362871734, '126936953789743104', NULL, 0), + (1704362872583, 6, 'Mouth', 1704362871734, '126936953789743104', NULL, 0), + (1704362872584, 6, 'Movie', 1704362871734, '126936953789743104', NULL, 0), + (1704362872585, 6, 'Movies', 1704362871734, '126936953789743104', NULL, 0), + (1704362872586, 6, 'Mud', 1704362871734, '126936953789743104', NULL, 0), + (1704362872587, 6, 'Mug', 1704362871734, '126936953789743104', NULL, 0), + (1704362872588, 6, 'Mummy', 1704362871734, '126936953789743104', NULL, 0), + (1704362872589, 6, 'Mushroom', 1704362871734, '126936953789743104', NULL, 0), + (1704362872590, 6, 'Music', 1704362871734, '126936953789743104', NULL, 0), + (1704362872591, 6, 'Musketeer', 1704362871734, '126936953789743104', NULL, 0), + (1704362872592, 6, 'Mustard', 1704362871734, '126936953789743104', NULL, 0), + (1704362872593, 6, 'Mute', 1704362871734, '126936953789743104', NULL, 0), + (1704362872594, 6, 'Myth', 1704362871734, '126936953789743104', NULL, 0); +INSERT OR IGNORE INTO responses (id, tableId, text, timestamp, userSnowflake, serverSnowflake, access) +VALUES (1704362872595, 6, 'Nail', 1704362871734, '126936953789743104', NULL, 0), + (1704362872596, 6, 'Naked', 1704362871734, '126936953789743104', NULL, 0), + (1704362872597, 6, 'Napoleon', 1704362871734, '126936953789743104', NULL, 0), + (1704362872598, 6, 'Nature', 1704362871734, '126936953789743104', NULL, 0), + (1704362872599, 6, 'Navel', 1704362871734, '126936953789743104', NULL, 0), + (1704362872600, 6, 'Necklace', 1704362871734, '126936953789743104', NULL, 0), + (1704362872601, 6, 'Needle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872602, 6, 'Neighbor', 1704362871734, '126936953789743104', NULL, 0), + (1704362872603, 6, 'Neighborhood', 1704362871734, '126936953789743104', NULL, 0), + (1704362872604, 6, 'Nerve', 1704362871734, '126936953789743104', NULL, 0), + (1704362872605, 6, 'Net', 1704362871734, '126936953789743104', NULL, 0), + (1704362872606, 6, 'Neutron', 1704362871734, '126936953789743104', NULL, 0), + (1704362872607, 6, 'New York', 1704362871734, '126936953789743104', NULL, 0), + (1704362872608, 6, 'New', 1704362871734, '126936953789743104', NULL, 0), + (1704362872609, 6, 'Newsletter', 1704362871734, '126936953789743104', NULL, 0), + (1704362872610, 6, 'Newton', 1704362871734, '126936953789743104', NULL, 0), + (1704362872611, 6, 'Niece', 1704362871734, '126936953789743104', NULL, 0), + (1704362872612, 6, 'Night', 1704362871734, '126936953789743104', NULL, 0), + (1704362872613, 6, 'Nightmare', 1704362871734, '126936953789743104', NULL, 0), + (1704362872614, 6, 'Ninja', 1704362871734, '126936953789743104', NULL, 0), + (1704362872615, 6, 'Nipple', 1704362871734, '126936953789743104', NULL, 0), + (1704362872616, 6, 'Noah', 1704362871734, '126936953789743104', NULL, 0), + (1704362872617, 6, 'Noodle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872618, 6, 'Nose', 1704362871734, '126936953789743104', NULL, 0), + (1704362872619, 6, 'Note', 1704362871734, '126936953789743104', NULL, 0), + (1704362872620, 6, 'Notre Dame', 1704362871734, '126936953789743104', NULL, 0), + (1704362872621, 6, 'Novel', 1704362871734, '126936953789743104', NULL, 0), + (1704362872622, 6, 'Nude', 1704362871734, '126936953789743104', NULL, 0), + (1704362872623, 6, 'Nurse', 1704362871734, '126936953789743104', NULL, 0), + (1704362872624, 6, 'Nut', 1704362871734, '126936953789743104', NULL, 0), + (1704362872625, 6, 'Nuts', 1704362871734, '126936953789743104', NULL, 0), + (1704362872626, 6, 'Nylon', 1704362871734, '126936953789743104', NULL, 0), + (1704362872627, 6, 'Oasis', 1704362871734, '126936953789743104', NULL, 0), + (1704362872628, 6, 'Observatory', 1704362871734, '126936953789743104', NULL, 0), + (1704362872629, 6, 'Ocean', 1704362871734, '126936953789743104', NULL, 0), + (1704362872630, 6, 'Octopus', 1704362871734, '126936953789743104', NULL, 0), + (1704362872631, 6, 'Oil', 1704362871734, '126936953789743104', NULL, 0), + (1704362872632, 6, 'Old', 1704362871734, '126936953789743104', NULL, 0), + (1704362872633, 6, 'Olive', 1704362871734, '126936953789743104', NULL, 0), + (1704362872634, 6, 'Olympus', 1704362871734, '126936953789743104', NULL, 0), + (1704362872635, 6, 'Onion', 1704362871734, '126936953789743104', NULL, 0), + (1704362872636, 6, 'Opaque', 1704362871734, '126936953789743104', NULL, 0), + (1704362872637, 6, 'Opera', 1704362871734, '126936953789743104', NULL, 0), + (1704362872638, 6, 'Orange', 1704362871734, '126936953789743104', NULL, 0), + (1704362872639, 6, 'Organ', 1704362871734, '126936953789743104', NULL, 0), + (1704362872640, 6, 'Orgasm', 1704362871734, '126936953789743104', NULL, 0), + (1704362872641, 6, 'Orgy', 1704362871734, '126936953789743104', NULL, 0), + (1704362872642, 6, 'Outer Space', 1704362871734, '126936953789743104', NULL, 0), + (1704362872643, 6, 'Outside', 1704362871734, '126936953789743104', NULL, 0), + (1704362872644, 6, 'Ovation', 1704362871734, '126936953789743104', NULL, 0), + (1704362872645, 6, 'Overture', 1704362871734, '126936953789743104', NULL, 0), + (1704362872646, 6, 'Oyster', 1704362871734, '126936953789743104', NULL, 0), + (1704362872647, 6, 'Pacific', 1704362871734, '126936953789743104', NULL, 0), + (1704362872648, 6, 'Package', 1704362871734, '126936953789743104', NULL, 0), + (1704362872649, 6, 'Pad', 1704362871734, '126936953789743104', NULL, 0), + (1704362872650, 6, 'Paddle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872651, 6, 'Page', 1704362871734, '126936953789743104', NULL, 0), + (1704362872652, 6, 'Paint', 1704362871734, '126936953789743104', NULL, 0), + (1704362872653, 6, 'Pajamas', 1704362871734, '126936953789743104', NULL, 0), + (1704362872654, 6, 'Palace', 1704362871734, '126936953789743104', NULL, 0), + (1704362872655, 6, 'Palm', 1704362871734, '126936953789743104', NULL, 0), + (1704362872656, 6, 'Pan', 1704362871734, '126936953789743104', NULL, 0), + (1704362872657, 6, 'Pants', 1704362871734, '126936953789743104', NULL, 0), + (1704362872658, 6, 'Paper', 1704362871734, '126936953789743104', NULL, 0), + (1704362872659, 6, 'Paperback', 1704362871734, '126936953789743104', NULL, 0), + (1704362872660, 6, 'Parachute', 1704362871734, '126936953789743104', NULL, 0), + (1704362872661, 6, 'Parade', 1704362871734, '126936953789743104', NULL, 0), + (1704362872662, 6, 'Park', 1704362871734, '126936953789743104', NULL, 0), + (1704362872663, 6, 'Parody', 1704362871734, '126936953789743104', NULL, 0), + (1704362872664, 6, 'Parrot', 1704362871734, '126936953789743104', NULL, 0), + (1704362872665, 6, 'Part', 1704362871734, '126936953789743104', NULL, 0), + (1704362872666, 6, 'Party', 1704362871734, '126936953789743104', NULL, 0), + (1704362872667, 6, 'Pass', 1704362871734, '126936953789743104', NULL, 0), + (1704362872668, 6, 'Password', 1704362871734, '126936953789743104', NULL, 0), + (1704362872669, 6, 'Paste', 1704362871734, '126936953789743104', NULL, 0), + (1704362872670, 6, 'Pastry', 1704362871734, '126936953789743104', NULL, 0), + (1704362872671, 6, 'Patient', 1704362871734, '126936953789743104', NULL, 0), + (1704362872672, 6, 'Pawn', 1704362871734, '126936953789743104', NULL, 0), + (1704362872673, 6, 'Pea', 1704362871734, '126936953789743104', NULL, 0), + (1704362872674, 6, 'Peach', 1704362871734, '126936953789743104', NULL, 0), + (1704362872675, 6, 'Peaches', 1704362871734, '126936953789743104', NULL, 0), + (1704362872676, 6, 'Peanut', 1704362871734, '126936953789743104', NULL, 0), + (1704362872677, 6, 'Pear', 1704362871734, '126936953789743104', NULL, 0), + (1704362872678, 6, 'Pearl', 1704362871734, '126936953789743104', NULL, 0), + (1704362872679, 6, 'Peasant', 1704362871734, '126936953789743104', NULL, 0), + (1704362872680, 6, 'Pecker', 1704362871734, '126936953789743104', NULL, 0), + (1704362872681, 6, 'Pee', 1704362871734, '126936953789743104', NULL, 0), + (1704362872682, 6, 'Pen', 1704362871734, '126936953789743104', NULL, 0), + (1704362872683, 6, 'Pencil', 1704362871734, '126936953789743104', NULL, 0), + (1704362872684, 6, 'Penguin', 1704362871734, '126936953789743104', NULL, 0), + (1704362872685, 6, 'Penis', 1704362871734, '126936953789743104', NULL, 0), + (1704362872686, 6, 'Penny', 1704362871734, '126936953789743104', NULL, 0), + (1704362872687, 6, 'Pentagon', 1704362871734, '126936953789743104', NULL, 0), + (1704362872688, 6, 'Pepper', 1704362871734, '126936953789743104', NULL, 0), + (1704362872689, 6, 'Period', 1704362871734, '126936953789743104', NULL, 0), + (1704362872690, 6, 'Person', 1704362871734, '126936953789743104', NULL, 0), + (1704362872691, 6, 'Pew', 1704362871734, '126936953789743104', NULL, 0), + (1704362872692, 6, 'Pharmacist', 1704362871734, '126936953789743104', NULL, 0), + (1704362872693, 6, 'Philosopher', 1704362871734, '126936953789743104', NULL, 0), + (1704362872694, 6, 'Phoenix', 1704362871734, '126936953789743104', NULL, 0), + (1704362872695, 6, 'Photograph', 1704362871734, '126936953789743104', NULL, 0), + (1704362872696, 6, 'Piano', 1704362871734, '126936953789743104', NULL, 0), + (1704362872697, 6, 'Pickle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872698, 6, 'Picnic', 1704362871734, '126936953789743104', NULL, 0), + (1704362872699, 6, 'Pie', 1704362871734, '126936953789743104', NULL, 0), + (1704362872700, 6, 'Pig', 1704362871734, '126936953789743104', NULL, 0), + (1704362872701, 6, 'Pigpen', 1704362871734, '126936953789743104', NULL, 0), + (1704362872702, 6, 'Pillow', 1704362871734, '126936953789743104', NULL, 0), + (1704362872703, 6, 'Pillows', 1704362871734, '126936953789743104', NULL, 0), + (1704362872704, 6, 'Pilot', 1704362871734, '126936953789743104', NULL, 0), + (1704362872705, 6, 'Pimp', 1704362871734, '126936953789743104', NULL, 0), + (1704362872706, 6, 'Pin', 1704362871734, '126936953789743104', NULL, 0), + (1704362872707, 6, 'Pinch', 1704362871734, '126936953789743104', NULL, 0), + (1704362872708, 6, 'Pine', 1704362871734, '126936953789743104', NULL, 0), + (1704362872709, 6, 'Pink', 1704362871734, '126936953789743104', NULL, 0), + (1704362872710, 6, 'Pinwheel', 1704362871734, '126936953789743104', NULL, 0), + (1704362872711, 6, 'Pipe', 1704362871734, '126936953789743104', NULL, 0), + (1704362872712, 6, 'Pirate', 1704362871734, '126936953789743104', NULL, 0), + (1704362872713, 6, 'Pistol', 1704362871734, '126936953789743104', NULL, 0), + (1704362872714, 6, 'Pit', 1704362871734, '126936953789743104', NULL, 0), + (1704362872715, 6, 'Pitch', 1704362871734, '126936953789743104', NULL, 0), + (1704362872716, 6, 'Pitcher', 1704362871734, '126936953789743104', NULL, 0), + (1704362872717, 6, 'Pizza Sauce', 1704362871734, '126936953789743104', NULL, 0), + (1704362872718, 6, 'Pizza', 1704362871734, '126936953789743104', NULL, 0), + (1704362872719, 6, 'Plane', 1704362871734, '126936953789743104', NULL, 0), + (1704362872720, 6, 'Plastic', 1704362871734, '126936953789743104', NULL, 0), + (1704362872721, 6, 'Plate', 1704362871734, '126936953789743104', NULL, 0), + (1704362872722, 6, 'Platypus', 1704362871734, '126936953789743104', NULL, 0), + (1704362872723, 6, 'Play', 1704362871734, '126936953789743104', NULL, 0), + (1704362872724, 6, 'Player', 1704362871734, '126936953789743104', NULL, 0), + (1704362872725, 6, 'Playground', 1704362871734, '126936953789743104', NULL, 0), + (1704362872726, 6, 'Plot', 1704362871734, '126936953789743104', NULL, 0), + (1704362872727, 6, 'Plumber', 1704362871734, '126936953789743104', NULL, 0), + (1704362872728, 6, 'Pocket', 1704362871734, '126936953789743104', NULL, 0), + (1704362872729, 6, 'Poem', 1704362871734, '126936953789743104', NULL, 0), + (1704362872730, 6, 'Pogo Stick', 1704362871734, '126936953789743104', NULL, 0), + (1704362872731, 6, 'Point', 1704362871734, '126936953789743104', NULL, 0), + (1704362872732, 6, 'Poison', 1704362871734, '126936953789743104', NULL, 0), + (1704362872733, 6, 'Poker', 1704362871734, '126936953789743104', NULL, 0), + (1704362872734, 6, 'Pole', 1704362871734, '126936953789743104', NULL, 0), + (1704362872735, 6, 'Police', 1704362871734, '126936953789743104', NULL, 0), + (1704362872736, 6, 'Polish', 1704362871734, '126936953789743104', NULL, 0), + (1704362872737, 6, 'Polo', 1704362871734, '126936953789743104', NULL, 0), + (1704362872738, 6, 'Pool', 1704362871734, '126936953789743104', NULL, 0), + (1704362872739, 6, 'Poop', 1704362871734, '126936953789743104', NULL, 0), + (1704362872740, 6, 'Pop', 1704362871734, '126936953789743104', NULL, 0), + (1704362872741, 6, 'Popcorn', 1704362871734, '126936953789743104', NULL, 0), + (1704362872742, 6, 'Popsicle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872743, 6, 'Porch', 1704362871734, '126936953789743104', NULL, 0), + (1704362872744, 6, 'Pork', 1704362871734, '126936953789743104', NULL, 0), + (1704362872745, 6, 'Porn', 1704362871734, '126936953789743104', NULL, 0), + (1704362872746, 6, 'Port', 1704362871734, '126936953789743104', NULL, 0), + (1704362872747, 6, 'Positive', 1704362871734, '126936953789743104', NULL, 0), + (1704362872748, 6, 'Post', 1704362871734, '126936953789743104', NULL, 0), + (1704362872749, 6, 'Pot', 1704362871734, '126936953789743104', NULL, 0), + (1704362872750, 6, 'Potato', 1704362871734, '126936953789743104', NULL, 0), + (1704362872751, 6, 'Potter', 1704362871734, '126936953789743104', NULL, 0), + (1704362872752, 6, 'Pound', 1704362871734, '126936953789743104', NULL, 0), + (1704362872753, 6, 'Powder', 1704362871734, '126936953789743104', NULL, 0), + (1704362872754, 6, 'Press', 1704362871734, '126936953789743104', NULL, 0), + (1704362872755, 6, 'Prick', 1704362871734, '126936953789743104', NULL, 0), + (1704362872756, 6, 'Princess', 1704362871734, '126936953789743104', NULL, 0), + (1704362872757, 6, 'Prison', 1704362871734, '126936953789743104', NULL, 0), + (1704362872758, 6, 'Prize', 1704362871734, '126936953789743104', NULL, 0), + (1704362872759, 6, 'Pro', 1704362871734, '126936953789743104', NULL, 0), + (1704362872760, 6, 'Professor', 1704362871734, '126936953789743104', NULL, 0), + (1704362872761, 6, 'Prostate', 1704362871734, '126936953789743104', NULL, 0), + (1704362872762, 6, 'Psychologist', 1704362871734, '126936953789743104', NULL, 0), + (1704362872763, 6, 'Pub', 1704362871734, '126936953789743104', NULL, 0), + (1704362872764, 6, 'Pucker', 1704362871734, '126936953789743104', NULL, 0), + (1704362872765, 6, 'Pumpkin', 1704362871734, '126936953789743104', NULL, 0), + (1704362872766, 6, 'Pupil', 1704362871734, '126936953789743104', NULL, 0), + (1704362872767, 6, 'Puppet', 1704362871734, '126936953789743104', NULL, 0), + (1704362872768, 6, 'Puppy', 1704362871734, '126936953789743104', NULL, 0), + (1704362872769, 6, 'Purple', 1704362871734, '126936953789743104', NULL, 0), + (1704362872770, 6, 'Purse', 1704362871734, '126936953789743104', NULL, 0), + (1704362872771, 6, 'Push', 1704362871734, '126936953789743104', NULL, 0), + (1704362872772, 6, 'Pussy', 1704362871734, '126936953789743104', NULL, 0), + (1704362872773, 6, 'Puzzle Piece', 1704362871734, '126936953789743104', NULL, 0), + (1704362872774, 6, 'Pyramid', 1704362871734, '126936953789743104', NULL, 0), + (1704362872775, 6, 'Quack', 1704362871734, '126936953789743104', NULL, 0), + (1704362872776, 6, 'Quarantine', 1704362871734, '126936953789743104', NULL, 0), + (1704362872777, 6, 'Quarter', 1704362871734, '126936953789743104', NULL, 0), + (1704362872778, 6, 'Queef', 1704362871734, '126936953789743104', NULL, 0), + (1704362872779, 6, 'Queen', 1704362871734, '126936953789743104', NULL, 0), + (1704362872780, 6, 'Queer', 1704362871734, '126936953789743104', NULL, 0), + (1704362872781, 6, 'Quiet', 1704362871734, '126936953789743104', NULL, 0), + (1704362872782, 6, 'Rabbit', 1704362871734, '126936953789743104', NULL, 0), + (1704362872783, 6, 'Race', 1704362871734, '126936953789743104', NULL, 0), + (1704362872784, 6, 'Rack', 1704362871734, '126936953789743104', NULL, 0), + (1704362872785, 6, 'Racket', 1704362871734, '126936953789743104', NULL, 0), + (1704362872786, 6, 'Radio', 1704362871734, '126936953789743104', NULL, 0), + (1704362872787, 6, 'Rail', 1704362871734, '126936953789743104', NULL, 0), + (1704362872788, 6, 'Rainbow', 1704362871734, '126936953789743104', NULL, 0), + (1704362872789, 6, 'Rainwater', 1704362871734, '126936953789743104', NULL, 0), + (1704362872790, 6, 'Ram', 1704362871734, '126936953789743104', NULL, 0), + (1704362872791, 6, 'Ranch', 1704362871734, '126936953789743104', NULL, 0), + (1704362872792, 6, 'Random', 1704362871734, '126936953789743104', NULL, 0), + (1704362872793, 6, 'Rat', 1704362871734, '126936953789743104', NULL, 0), + (1704362872794, 6, 'Rattle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872795, 6, 'Rave', 1704362871734, '126936953789743104', NULL, 0), + (1704362872796, 6, 'Ray', 1704362871734, '126936953789743104', NULL, 0), + (1704362872797, 6, 'Razor', 1704362871734, '126936953789743104', NULL, 0), + (1704362872798, 6, 'Record', 1704362871734, '126936953789743104', NULL, 0), + (1704362872799, 6, 'Rectum', 1704362871734, '126936953789743104', NULL, 0), + (1704362872800, 6, 'Recycle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872801, 6, 'Red', 1704362871734, '126936953789743104', NULL, 0), + (1704362872802, 6, 'Regret', 1704362871734, '126936953789743104', NULL, 0), + (1704362872803, 6, 'Reindeer', 1704362871734, '126936953789743104', NULL, 0), + (1704362872804, 6, 'Retail', 1704362871734, '126936953789743104', NULL, 0), + (1704362872805, 6, 'Revolution', 1704362871734, '126936953789743104', NULL, 0), + (1704362872806, 6, 'Rib', 1704362871734, '126936953789743104', NULL, 0), + (1704362872807, 6, 'Rice', 1704362871734, '126936953789743104', NULL, 0), + (1704362872808, 6, 'Rifle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872809, 6, 'Ring', 1704362871734, '126936953789743104', NULL, 0), + (1704362872810, 6, 'Ringleader', 1704362871734, '126936953789743104', NULL, 0), + (1704362872811, 6, 'Rip', 1704362871734, '126936953789743104', NULL, 0), + (1704362872812, 6, 'River', 1704362871734, '126936953789743104', NULL, 0), + (1704362872813, 6, 'Roach', 1704362871734, '126936953789743104', NULL, 0), + (1704362872814, 6, 'Road', 1704362871734, '126936953789743104', NULL, 0), + (1704362872815, 6, 'Robe', 1704362871734, '126936953789743104', NULL, 0), + (1704362872816, 6, 'Robin', 1704362871734, '126936953789743104', NULL, 0), + (1704362872817, 6, 'Robot', 1704362871734, '126936953789743104', NULL, 0), + (1704362872818, 6, 'Rock', 1704362871734, '126936953789743104', NULL, 0), + (1704362872819, 6, 'Rocket', 1704362871734, '126936953789743104', NULL, 0), + (1704362872820, 6, 'Rodeo', 1704362871734, '126936953789743104', NULL, 0), + (1704362872821, 6, 'Roll', 1704362871734, '126936953789743104', NULL, 0), + (1704362872822, 6, 'Roller Blade', 1704362871734, '126936953789743104', NULL, 0), + (1704362872823, 6, 'Roller Coaster', 1704362871734, '126936953789743104', NULL, 0), + (1704362872824, 6, 'Rome', 1704362871734, '126936953789743104', NULL, 0), + (1704362872825, 6, 'Roof', 1704362871734, '126936953789743104', NULL, 0), + (1704362872826, 6, 'Rookie', 1704362871734, '126936953789743104', NULL, 0), + (1704362872827, 6, 'Root', 1704362871734, '126936953789743104', NULL, 0), + (1704362872828, 6, 'Rope', 1704362871734, '126936953789743104', NULL, 0), + (1704362872829, 6, 'Rose', 1704362871734, '126936953789743104', NULL, 0), + (1704362872830, 6, 'Roulette', 1704362871734, '126936953789743104', NULL, 0), + (1704362872831, 6, 'Round', 1704362871734, '126936953789743104', NULL, 0), + (1704362872832, 6, 'Row', 1704362871734, '126936953789743104', NULL, 0), + (1704362872833, 6, 'Rubber', 1704362871734, '126936953789743104', NULL, 0), + (1704362872834, 6, 'Rug', 1704362871734, '126936953789743104', NULL, 0), + (1704362872835, 6, 'Ruler', 1704362871734, '126936953789743104', NULL, 0), + (1704362872836, 6, 'Russia', 1704362871734, '126936953789743104', NULL, 0), + (1704362872837, 6, 'Rust', 1704362871734, '126936953789743104', NULL, 0), + (1704362872838, 6, 'Sack', 1704362871734, '126936953789743104', NULL, 0), + (1704362872839, 6, 'Sad', 1704362871734, '126936953789743104', NULL, 0), + (1704362872840, 6, 'Saddle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872841, 6, 'Safe', 1704362871734, '126936953789743104', NULL, 0), + (1704362872842, 6, 'Sahara', 1704362871734, '126936953789743104', NULL, 0), + (1704362872843, 6, 'Sail', 1704362871734, '126936953789743104', NULL, 0), + (1704362872844, 6, 'Salad', 1704362871734, '126936953789743104', NULL, 0), + (1704362872845, 6, 'Saloon', 1704362871734, '126936953789743104', NULL, 0), + (1704362872846, 6, 'Salsa', 1704362871734, '126936953789743104', NULL, 0), + (1704362872847, 6, 'Salt and Pepper', 1704362871734, '126936953789743104', NULL, 0), + (1704362872848, 6, 'Salt', 1704362871734, '126936953789743104', NULL, 0), + (1704362872849, 6, 'Sand', 1704362871734, '126936953789743104', NULL, 0), + (1704362872850, 6, 'Sandcastle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872851, 6, 'Sandwich', 1704362871734, '126936953789743104', NULL, 0), + (1704362872852, 6, 'Santa', 1704362871734, '126936953789743104', NULL, 0), + (1704362872853, 6, 'Satellite', 1704362871734, '126936953789743104', NULL, 0), + (1704362872854, 6, 'Saturn', 1704362871734, '126936953789743104', NULL, 0), + (1704362872855, 6, 'Sauna', 1704362871734, '126936953789743104', NULL, 0), + (1704362872856, 6, 'Sausage', 1704362871734, '126936953789743104', NULL, 0), + (1704362872857, 6, 'Saw', 1704362871734, '126936953789743104', NULL, 0), + (1704362872858, 6, 'Scale', 1704362871734, '126936953789743104', NULL, 0), + (1704362872859, 6, 'Scarecrow', 1704362871734, '126936953789743104', NULL, 0), + (1704362872860, 6, 'Scared', 1704362871734, '126936953789743104', NULL, 0), + (1704362872861, 6, 'School Bus', 1704362871734, '126936953789743104', NULL, 0), + (1704362872862, 6, 'School', 1704362871734, '126936953789743104', NULL, 0), + (1704362872863, 6, 'Scientist', 1704362871734, '126936953789743104', NULL, 0), + (1704362872864, 6, 'Score', 1704362871734, '126936953789743104', NULL, 0), + (1704362872865, 6, 'Scorpion', 1704362871734, '126936953789743104', NULL, 0), + (1704362872866, 6, 'Scratch', 1704362871734, '126936953789743104', NULL, 0), + (1704362872867, 6, 'Scream', 1704362871734, '126936953789743104', NULL, 0), + (1704362872868, 6, 'Screen', 1704362871734, '126936953789743104', NULL, 0), + (1704362872869, 6, 'Screw', 1704362871734, '126936953789743104', NULL, 0), + (1704362872870, 6, 'Scroll', 1704362871734, '126936953789743104', NULL, 0), + (1704362872871, 6, 'Scuba Diver', 1704362871734, '126936953789743104', NULL, 0), + (1704362872872, 6, 'Seal', 1704362871734, '126936953789743104', NULL, 0), + (1704362872873, 6, 'Seashell', 1704362871734, '126936953789743104', NULL, 0), + (1704362872874, 6, 'Second', 1704362871734, '126936953789743104', NULL, 0), + (1704362872875, 6, 'Secretary', 1704362871734, '126936953789743104', NULL, 0), + (1704362872876, 6, 'Seed', 1704362871734, '126936953789743104', NULL, 0), + (1704362872877, 6, 'Seesaw', 1704362871734, '126936953789743104', NULL, 0), + (1704362872878, 6, 'Semen', 1704362871734, '126936953789743104', NULL, 0), + (1704362872879, 6, 'Server', 1704362871734, '126936953789743104', NULL, 0), + (1704362872880, 6, 'Sex', 1704362871734, '126936953789743104', NULL, 0), + (1704362872881, 6, 'Shadow', 1704362871734, '126936953789743104', NULL, 0), + (1704362872882, 6, 'Shaft', 1704362871734, '126936953789743104', NULL, 0), + (1704362872883, 6, 'Shakespeare', 1704362871734, '126936953789743104', NULL, 0), + (1704362872884, 6, 'Shallow', 1704362871734, '126936953789743104', NULL, 0), + (1704362872885, 6, 'Shame', 1704362871734, '126936953789743104', NULL, 0), + (1704362872886, 6, 'Shampoo', 1704362871734, '126936953789743104', NULL, 0), + (1704362872887, 6, 'Share', 1704362871734, '126936953789743104', NULL, 0), + (1704362872888, 6, 'Shark', 1704362871734, '126936953789743104', NULL, 0), + (1704362872889, 6, 'Shave', 1704362871734, '126936953789743104', NULL, 0), + (1704362872890, 6, 'Shed', 1704362871734, '126936953789743104', NULL, 0), + (1704362872891, 6, 'Sheep', 1704362871734, '126936953789743104', NULL, 0), + (1704362872892, 6, 'Sheet', 1704362871734, '126936953789743104', NULL, 0), + (1704362872893, 6, 'Shelf', 1704362871734, '126936953789743104', NULL, 0), + (1704362872894, 6, 'Shell', 1704362871734, '126936953789743104', NULL, 0), + (1704362872895, 6, 'Sherlock', 1704362871734, '126936953789743104', NULL, 0), + (1704362872896, 6, 'Sherwood', 1704362871734, '126936953789743104', NULL, 0), + (1704362872897, 6, 'Ship', 1704362871734, '126936953789743104', NULL, 0), + (1704362872898, 6, 'Shipwreck', 1704362871734, '126936953789743104', NULL, 0), + (1704362872899, 6, 'Shirt', 1704362871734, '126936953789743104', NULL, 0), + (1704362872900, 6, 'Shoe', 1704362871734, '126936953789743104', NULL, 0), + (1704362872901, 6, 'Shoelace', 1704362871734, '126936953789743104', NULL, 0), + (1704362872902, 6, 'Shoot', 1704362871734, '126936953789743104', NULL, 0), + (1704362872903, 6, 'Shop', 1704362871734, '126936953789743104', NULL, 0), + (1704362872904, 6, 'Shopping Cart', 1704362871734, '126936953789743104', NULL, 0), + (1704362872905, 6, 'Short', 1704362871734, '126936953789743104', NULL, 0), + (1704362872906, 6, 'Shorts', 1704362871734, '126936953789743104', NULL, 0), + (1704362872907, 6, 'Shot', 1704362871734, '126936953789743104', NULL, 0), + (1704362872908, 6, 'Shoulder', 1704362871734, '126936953789743104', NULL, 0), + (1704362872909, 6, 'Shower', 1704362871734, '126936953789743104', NULL, 0), + (1704362872910, 6, 'Shrew', 1704362871734, '126936953789743104', NULL, 0), + (1704362872911, 6, 'Sick', 1704362871734, '126936953789743104', NULL, 0), + (1704362872912, 6, 'Sign', 1704362871734, '126936953789743104', NULL, 0), + (1704362872913, 6, 'Silk', 1704362871734, '126936953789743104', NULL, 0), + (1704362872914, 6, 'Sin', 1704362871734, '126936953789743104', NULL, 0), + (1704362872915, 6, 'Singer', 1704362871734, '126936953789743104', NULL, 0), + (1704362872916, 6, 'Sink', 1704362871734, '126936953789743104', NULL, 0), + (1704362872917, 6, 'Sister', 1704362871734, '126936953789743104', NULL, 0), + (1704362872918, 6, 'Skank', 1704362871734, '126936953789743104', NULL, 0), + (1704362872919, 6, 'Skate', 1704362871734, '126936953789743104', NULL, 0), + (1704362872920, 6, 'Skateboard', 1704362871734, '126936953789743104', NULL, 0), + (1704362872921, 6, 'Skates', 1704362871734, '126936953789743104', NULL, 0), + (1704362872922, 6, 'Ski Goggles', 1704362871734, '126936953789743104', NULL, 0), + (1704362872923, 6, 'Ski', 1704362871734, '126936953789743104', NULL, 0), + (1704362872924, 6, 'Skid', 1704362871734, '126936953789743104', NULL, 0), + (1704362872925, 6, 'Skirt', 1704362871734, '126936953789743104', NULL, 0), + (1704362872926, 6, 'Skull', 1704362871734, '126936953789743104', NULL, 0), + (1704362872927, 6, 'Skyscraper', 1704362871734, '126936953789743104', NULL, 0), + (1704362872928, 6, 'Slam Dunk', 1704362871734, '126936953789743104', NULL, 0), + (1704362872929, 6, 'Sled', 1704362871734, '126936953789743104', NULL, 0), + (1704362872930, 6, 'Sleep', 1704362871734, '126936953789743104', NULL, 0), + (1704362872931, 6, 'Slide', 1704362871734, '126936953789743104', NULL, 0), + (1704362872932, 6, 'Sling', 1704362871734, '126936953789743104', NULL, 0), + (1704362872933, 6, 'Slip', 1704362871734, '126936953789743104', NULL, 0), + (1704362872934, 6, 'Slipper', 1704362871734, '126936953789743104', NULL, 0), + (1704362872935, 6, 'Sloth', 1704362871734, '126936953789743104', NULL, 0), + (1704362872936, 6, 'Slow', 1704362871734, '126936953789743104', NULL, 0), + (1704362872937, 6, 'Slug', 1704362871734, '126936953789743104', NULL, 0), + (1704362872938, 6, 'Slump', 1704362871734, '126936953789743104', NULL, 0), + (1704362872939, 6, 'Slut', 1704362871734, '126936953789743104', NULL, 0), + (1704362872940, 6, 'Smegma', 1704362871734, '126936953789743104', NULL, 0), + (1704362872941, 6, 'Smell', 1704362871734, '126936953789743104', NULL, 0), + (1704362872942, 6, 'Smile', 1704362871734, '126936953789743104', NULL, 0), + (1704362872943, 6, 'Smog', 1704362871734, '126936953789743104', NULL, 0), + (1704362872944, 6, 'Smoke', 1704362871734, '126936953789743104', NULL, 0), + (1704362872945, 6, 'Smoothie', 1704362871734, '126936953789743104', NULL, 0), + (1704362872946, 6, 'Smuggler', 1704362871734, '126936953789743104', NULL, 0), + (1704362872947, 6, 'Snag', 1704362871734, '126936953789743104', NULL, 0), + (1704362872948, 6, 'Snail', 1704362871734, '126936953789743104', NULL, 0), + (1704362872949, 6, 'Snake', 1704362871734, '126936953789743104', NULL, 0), + (1704362872950, 6, 'Snap', 1704362871734, '126936953789743104', NULL, 0), + (1704362872951, 6, 'Snatch', 1704362871734, '126936953789743104', NULL, 0), + (1704362872952, 6, 'Sneeze', 1704362871734, '126936953789743104', NULL, 0), + (1704362872953, 6, 'Sniff', 1704362871734, '126936953789743104', NULL, 0), + (1704362872954, 6, 'Snort', 1704362871734, '126936953789743104', NULL, 0), + (1704362872955, 6, 'Snow', 1704362871734, '126936953789743104', NULL, 0), + (1704362872956, 6, 'Snowflake', 1704362871734, '126936953789743104', NULL, 0), + (1704362872957, 6, 'Snowman', 1704362871734, '126936953789743104', NULL, 0), + (1704362872958, 6, 'Snuggle', 1704362871734, '126936953789743104', NULL, 0), + (1704362872959, 6, 'Soap', 1704362871734, '126936953789743104', NULL, 0), + (1704362872960, 6, 'Sock', 1704362871734, '126936953789743104', NULL, 0), + (1704362872961, 6, 'Socks', 1704362871734, '126936953789743104', NULL, 0), + (1704362872962, 6, 'Softballs', 1704362871734, '126936953789743104', NULL, 0), + (1704362872963, 6, 'Soldier', 1704362871734, '126936953789743104', NULL, 0), + (1704362872964, 6, 'Solo', 1704362871734, '126936953789743104', NULL, 0), + (1704362872965, 6, 'Song', 1704362871734, '126936953789743104', NULL, 0), + (1704362872966, 6, 'Sore', 1704362871734, '126936953789743104', NULL, 0), + (1704362872967, 6, 'Soul', 1704362871734, '126936953789743104', NULL, 0), + (1704362872968, 6, 'Sound', 1704362871734, '126936953789743104', NULL, 0), + (1704362872969, 6, 'Soup', 1704362871734, '126936953789743104', NULL, 0), + (1704362872970, 6, 'Space', 1704362871734, '126936953789743104', NULL, 0), + (1704362872971, 6, 'Spank', 1704362871734, '126936953789743104', NULL, 0), + (1704362872972, 6, 'Spare', 1704362871734, '126936953789743104', NULL, 0), + (1704362872973, 6, 'Speed', 1704362871734, '126936953789743104', NULL, 0), + (1704362872974, 6, 'Spell', 1704362871734, '126936953789743104', NULL, 0), + (1704362872975, 6, 'Sperm', 1704362871734, '126936953789743104', NULL, 0), + (1704362872976, 6, 'Sphinx', 1704362871734, '126936953789743104', NULL, 0), + (1704362872977, 6, 'Spice', 1704362871734, '126936953789743104', NULL, 0), + (1704362872978, 6, 'Spider Web', 1704362871734, '126936953789743104', NULL, 0), + (1704362872979, 6, 'Spider', 1704362871734, '126936953789743104', NULL, 0), + (1704362872980, 6, 'Spike', 1704362871734, '126936953789743104', NULL, 0), + (1704362872981, 6, 'Spine', 1704362871734, '126936953789743104', NULL, 0), + (1704362872982, 6, 'Spirit', 1704362871734, '126936953789743104', NULL, 0), + (1704362872983, 6, 'Spoon', 1704362871734, '126936953789743104', NULL, 0), + (1704362872984, 6, 'Spot', 1704362871734, '126936953789743104', NULL, 0), + (1704362872985, 6, 'Spray', 1704362871734, '126936953789743104', NULL, 0), + (1704362872986, 6, 'Spread', 1704362871734, '126936953789743104', NULL, 0), + (1704362872987, 6, 'Spring', 1704362871734, '126936953789743104', NULL, 0), + (1704362872988, 6, 'Sprinkler', 1704362871734, '126936953789743104', NULL, 0), + (1704362872989, 6, 'Spurs', 1704362871734, '126936953789743104', NULL, 0), + (1704362872990, 6, 'Spy', 1704362871734, '126936953789743104', NULL, 0), + (1704362872991, 6, 'Square', 1704362871734, '126936953789743104', NULL, 0), + (1704362872992, 6, 'Squash', 1704362871734, '126936953789743104', NULL, 0), + (1704362872993, 6, 'Squirrel', 1704362871734, '126936953789743104', NULL, 0), + (1704362872994, 6, 'Squirt', 1704362871734, '126936953789743104', NULL, 0), + (1704362872995, 6, 'St.patrick', 1704362871734, '126936953789743104', NULL, 0), + (1704362872996, 6, 'Stable', 1704362871734, '126936953789743104', NULL, 0), + (1704362872997, 6, 'Stadium', 1704362871734, '126936953789743104', NULL, 0), + (1704362872998, 6, 'Staff', 1704362871734, '126936953789743104', NULL, 0), + (1704362872999, 6, 'Stairs', 1704362871734, '126936953789743104', NULL, 0), + (1704362873000, 6, 'Stalker', 1704362871734, '126936953789743104', NULL, 0), + (1704362873001, 6, 'Stamp', 1704362871734, '126936953789743104', NULL, 0), + (1704362873002, 6, 'Standing', 1704362871734, '126936953789743104', NULL, 0), + (1704362873003, 6, 'Star', 1704362871734, '126936953789743104', NULL, 0), + (1704362873004, 6, 'State', 1704362871734, '126936953789743104', NULL, 0), + (1704362873005, 6, 'Steam', 1704362871734, '126936953789743104', NULL, 0), + (1704362873006, 6, 'Steamy', 1704362871734, '126936953789743104', NULL, 0), + (1704362873007, 6, 'Steel', 1704362871734, '126936953789743104', NULL, 0), + (1704362873008, 6, 'Step', 1704362871734, '126936953789743104', NULL, 0), + (1704362873009, 6, 'Stethoscope', 1704362871734, '126936953789743104', NULL, 0), + (1704362873010, 6, 'Stick', 1704362871734, '126936953789743104', NULL, 0), + (1704362873011, 6, 'Sticker', 1704362871734, '126936953789743104', NULL, 0), + (1704362873012, 6, 'Stiff', 1704362871734, '126936953789743104', NULL, 0), + (1704362873013, 6, 'Stiletto', 1704362871734, '126936953789743104', NULL, 0), + (1704362873014, 6, 'Stock', 1704362871734, '126936953789743104', NULL, 0), + (1704362873015, 6, 'Stockholder', 1704362871734, '126936953789743104', NULL, 0), + (1704362873016, 6, 'Stones', 1704362871734, '126936953789743104', NULL, 0), + (1704362873017, 6, 'Stool', 1704362871734, '126936953789743104', NULL, 0), + (1704362873018, 6, 'Stoplight', 1704362871734, '126936953789743104', NULL, 0), + (1704362873019, 6, 'Storm', 1704362871734, '126936953789743104', NULL, 0), + (1704362873020, 6, 'Story', 1704362871734, '126936953789743104', NULL, 0), + (1704362873021, 6, 'Stove', 1704362871734, '126936953789743104', NULL, 0), + (1704362873022, 6, 'Stowaway', 1704362871734, '126936953789743104', NULL, 0), + (1704362873023, 6, 'Straight', 1704362871734, '126936953789743104', NULL, 0), + (1704362873024, 6, 'Strap', 1704362871734, '126936953789743104', NULL, 0), + (1704362873025, 6, 'Straw', 1704362871734, '126936953789743104', NULL, 0), + (1704362873026, 6, 'Stream', 1704362871734, '126936953789743104', NULL, 0), + (1704362873027, 6, 'Street', 1704362871734, '126936953789743104', NULL, 0), + (1704362873028, 6, 'Strike', 1704362871734, '126936953789743104', NULL, 0), + (1704362873029, 6, 'String', 1704362871734, '126936953789743104', NULL, 0), + (1704362873030, 6, 'Strip', 1704362871734, '126936953789743104', NULL, 0), + (1704362873031, 6, 'Stripe', 1704362871734, '126936953789743104', NULL, 0), + (1704362873032, 6, 'Stripper', 1704362871734, '126936953789743104', NULL, 0), + (1704362873033, 6, 'Strobe', 1704362871734, '126936953789743104', NULL, 0), + (1704362873034, 6, 'Stud', 1704362871734, '126936953789743104', NULL, 0), + (1704362873035, 6, 'Student', 1704362871734, '126936953789743104', NULL, 0), + (1704362873036, 6, 'Sub', 1704362871734, '126936953789743104', NULL, 0), + (1704362873037, 6, 'Sugar', 1704362871734, '126936953789743104', NULL, 0), + (1704362873038, 6, 'Suit', 1704362871734, '126936953789743104', NULL, 0), + (1704362873039, 6, 'Sumo', 1704362871734, '126936953789743104', NULL, 0), + (1704362873040, 6, 'Sun', 1704362871734, '126936953789743104', NULL, 0), + (1704362873041, 6, 'Sunburn', 1704362871734, '126936953789743104', NULL, 0), + (1704362873042, 6, 'Superhero', 1704362871734, '126936953789743104', NULL, 0), + (1704362873043, 6, 'Swallow', 1704362871734, '126936953789743104', NULL, 0), + (1704362873044, 6, 'Swamp', 1704362871734, '126936953789743104', NULL, 0), + (1704362873045, 6, 'Sweat', 1704362871734, '126936953789743104', NULL, 0), + (1704362873046, 6, 'Swimmers', 1704362871734, '126936953789743104', NULL, 0), + (1704362873047, 6, 'Swimming Pool', 1704362871734, '126936953789743104', NULL, 0), + (1704362873048, 6, 'Swing', 1704362871734, '126936953789743104', NULL, 0), + (1704362873049, 6, 'Switch', 1704362871734, '126936953789743104', NULL, 0), + (1704362873050, 6, 'Sword', 1704362871734, '126936953789743104', NULL, 0), + (1704362873051, 6, 'Table', 1704362871734, '126936953789743104', NULL, 0), + (1704362873052, 6, 'Tablet', 1704362871734, '126936953789743104', NULL, 0), + (1704362873053, 6, 'Taboo', 1704362871734, '126936953789743104', NULL, 0), + (1704362873054, 6, 'Taco', 1704362871734, '126936953789743104', NULL, 0), + (1704362873055, 6, 'Tag', 1704362871734, '126936953789743104', NULL, 0), + (1704362873056, 6, 'Tail', 1704362871734, '126936953789743104', NULL, 0), + (1704362873057, 6, 'Talk', 1704362871734, '126936953789743104', NULL, 0), + (1704362873058, 6, 'Tank', 1704362871734, '126936953789743104', NULL, 0), + (1704362873059, 6, 'Tap', 1704362871734, '126936953789743104', NULL, 0), + (1704362873060, 6, 'Taste', 1704362871734, '126936953789743104', NULL, 0), + (1704362873061, 6, 'Tattoo', 1704362871734, '126936953789743104', NULL, 0), + (1704362873062, 6, 'Tavern', 1704362871734, '126936953789743104', NULL, 0), + (1704362873063, 6, 'Taxi Cab', 1704362871734, '126936953789743104', NULL, 0), + (1704362873064, 6, 'Tea', 1704362871734, '126936953789743104', NULL, 0), + (1704362873065, 6, 'Teabag', 1704362871734, '126936953789743104', NULL, 0), + (1704362873066, 6, 'Teacher', 1704362871734, '126936953789743104', NULL, 0), + (1704362873067, 6, 'Team', 1704362871734, '126936953789743104', NULL, 0), + (1704362873068, 6, 'Teapot', 1704362871734, '126936953789743104', NULL, 0), + (1704362873069, 6, 'Tear', 1704362871734, '126936953789743104', NULL, 0), + (1704362873070, 6, 'Tease', 1704362871734, '126936953789743104', NULL, 0), + (1704362873071, 6, 'Telephone', 1704362871734, '126936953789743104', NULL, 0), + (1704362873072, 6, 'Telescope', 1704362871734, '126936953789743104', NULL, 0), + (1704362873073, 6, 'Temple', 1704362871734, '126936953789743104', NULL, 0), + (1704362873074, 6, 'Tennis Shoes', 1704362871734, '126936953789743104', NULL, 0), + (1704362873075, 6, 'Tent', 1704362871734, '126936953789743104', NULL, 0), + (1704362873076, 6, 'Tequila', 1704362871734, '126936953789743104', NULL, 0), + (1704362873077, 6, 'Texas', 1704362871734, '126936953789743104', NULL, 0), + (1704362873078, 6, 'Theater', 1704362871734, '126936953789743104', NULL, 0), + (1704362873079, 6, 'Thief', 1704362871734, '126936953789743104', NULL, 0), + (1704362873080, 6, 'Threesome', 1704362871734, '126936953789743104', NULL, 0), + (1704362873081, 6, 'Throat', 1704362871734, '126936953789743104', NULL, 0), + (1704362873082, 6, 'Throne', 1704362871734, '126936953789743104', NULL, 0), + (1704362873083, 6, 'Thumb', 1704362871734, '126936953789743104', NULL, 0), + (1704362873084, 6, 'Thunder', 1704362871734, '126936953789743104', NULL, 0), + (1704362873085, 6, 'Tick', 1704362871734, '126936953789743104', NULL, 0), + (1704362873086, 6, 'Tickle', 1704362871734, '126936953789743104', NULL, 0), + (1704362873087, 6, 'Tie', 1704362871734, '126936953789743104', NULL, 0), + (1704362873088, 6, 'Tiger', 1704362871734, '126936953789743104', NULL, 0), + (1704362873089, 6, 'Time', 1704362871734, '126936953789743104', NULL, 0), + (1704362873090, 6, 'Tin', 1704362871734, '126936953789743104', NULL, 0), + (1704362873091, 6, 'Tint', 1704362871734, '126936953789743104', NULL, 0), + (1704362873092, 6, 'Tip', 1704362871734, '126936953789743104', NULL, 0), + (1704362873093, 6, 'Tipi', 1704362871734, '126936953789743104', NULL, 0), + (1704362873094, 6, 'Tiptoe', 1704362871734, '126936953789743104', NULL, 0), + (1704362873095, 6, 'Tired', 1704362871734, '126936953789743104', NULL, 0), + (1704362873096, 6, 'Tit', 1704362871734, '126936953789743104', NULL, 0), + (1704362873097, 6, 'Toast', 1704362871734, '126936953789743104', NULL, 0), + (1704362873098, 6, 'Toilet Paper', 1704362871734, '126936953789743104', NULL, 0), + (1704362873099, 6, 'Tokyo', 1704362871734, '126936953789743104', NULL, 0), + (1704362873100, 6, 'Tongue', 1704362871734, '126936953789743104', NULL, 0), + (1704362873101, 6, 'Tool', 1704362871734, '126936953789743104', NULL, 0), + (1704362873102, 6, 'Tooth', 1704362871734, '126936953789743104', NULL, 0), + (1704362873103, 6, 'Toothbrush', 1704362871734, '126936953789743104', NULL, 0), + (1704362873104, 6, 'Top', 1704362871734, '126936953789743104', NULL, 0), + (1704362873105, 6, 'Torch', 1704362871734, '126936953789743104', NULL, 0), + (1704362873106, 6, 'Tornado', 1704362871734, '126936953789743104', NULL, 0), + (1704362873107, 6, 'Torture', 1704362871734, '126936953789743104', NULL, 0), + (1704362873108, 6, 'Touch', 1704362871734, '126936953789743104', NULL, 0), + (1704362873109, 6, 'Touchdown', 1704362871734, '126936953789743104', NULL, 0), + (1704362873110, 6, 'Tournament', 1704362871734, '126936953789743104', NULL, 0), + (1704362873111, 6, 'Tower', 1704362871734, '126936953789743104', NULL, 0), + (1704362873112, 6, 'Toy', 1704362871734, '126936953789743104', NULL, 0), + (1704362873113, 6, 'Track', 1704362871734, '126936953789743104', NULL, 0), + (1704362873114, 6, 'Tractor', 1704362871734, '126936953789743104', NULL, 0), + (1704362873115, 6, 'Train', 1704362871734, '126936953789743104', NULL, 0), + (1704362873116, 6, 'Tramp', 1704362871734, '126936953789743104', NULL, 0), + (1704362873117, 6, 'Trash', 1704362871734, '126936953789743104', NULL, 0), + (1704362873118, 6, 'Treasure', 1704362871734, '126936953789743104', NULL, 0), + (1704362873119, 6, 'Treehouse', 1704362871734, '126936953789743104', NULL, 0), + (1704362873120, 6, 'Tree', 1704362871734, '126936953789743104', NULL, 0), + (1704362873121, 6, 'Triangle', 1704362871734, '126936953789743104', NULL, 0), + (1704362873122, 6, 'Trick', 1704362871734, '126936953789743104', NULL, 0), + (1704362873123, 6, 'Trim', 1704362871734, '126936953789743104', NULL, 0), + (1704362873124, 6, 'Trip', 1704362871734, '126936953789743104', NULL, 0), + (1704362873125, 6, 'Troll', 1704362871734, '126936953789743104', NULL, 0), + (1704362873126, 6, 'Trousers', 1704362871734, '126936953789743104', NULL, 0), + (1704362873127, 6, 'Truck', 1704362871734, '126936953789743104', NULL, 0), + (1704362873128, 6, 'Trunk', 1704362871734, '126936953789743104', NULL, 0), + (1704362873129, 6, 'Tuba', 1704362871734, '126936953789743104', NULL, 0), + (1704362873130, 6, 'Tube', 1704362871734, '126936953789743104', NULL, 0), + (1704362873131, 6, 'Tubesteak', 1704362871734, '126936953789743104', NULL, 0), + (1704362873132, 6, 'Tuna', 1704362871734, '126936953789743104', NULL, 0), + (1704362873133, 6, 'Tunnel', 1704362871734, '126936953789743104', NULL, 0), + (1704362873134, 6, 'Turd', 1704362871734, '126936953789743104', NULL, 0), + (1704362873135, 6, 'Turkey', 1704362871734, '126936953789743104', NULL, 0), + (1704362873136, 6, 'Turtle', 1704362871734, '126936953789743104', NULL, 0), + (1704362873137, 6, 'Tutor', 1704362871734, '126936953789743104', NULL, 0), + (1704362873138, 6, 'Tutu', 1704362871734, '126936953789743104', NULL, 0), + (1704362873139, 6, 'Tuxedo', 1704362871734, '126936953789743104', NULL, 0), + (1704362873140, 6, 'Tv', 1704362871734, '126936953789743104', NULL, 0), + (1704362873141, 6, 'Twig', 1704362871734, '126936953789743104', NULL, 0), + (1704362873142, 6, 'Type', 1704362871734, '126936953789743104', NULL, 0), + (1704362873143, 6, 'Udders', 1704362871734, '126936953789743104', NULL, 0), + (1704362873144, 6, 'Undertaker', 1704362871734, '126936953789743104', NULL, 0), + (1704362873145, 6, 'Unicorn', 1704362871734, '126936953789743104', NULL, 0), + (1704362873146, 6, 'University', 1704362871734, '126936953789743104', NULL, 0), + (1704362873147, 6, 'Upgrade', 1704362871734, '126936953789743104', NULL, 0), + (1704362873148, 6, 'Uranus', 1704362871734, '126936953789743104', NULL, 0), + (1704362873149, 6, 'Vacuum', 1704362871734, '126936953789743104', NULL, 0), + (1704362873150, 6, 'Valentine', 1704362871734, '126936953789743104', NULL, 0), + (1704362873151, 6, 'Vampire', 1704362871734, '126936953789743104', NULL, 0), + (1704362873152, 6, 'Van', 1704362871734, '126936953789743104', NULL, 0), + (1704362873153, 6, 'Vasectomy', 1704362871734, '126936953789743104', NULL, 0), + (1704362873154, 6, 'Vegas', 1704362871734, '126936953789743104', NULL, 0), + (1704362873155, 6, 'Vegetarian', 1704362871734, '126936953789743104', NULL, 0), + (1704362873156, 6, 'Vein', 1704362871734, '126936953789743104', NULL, 0), + (1704362873157, 6, 'Venus', 1704362871734, '126936953789743104', NULL, 0), + (1704362873158, 6, 'Vet', 1704362871734, '126936953789743104', NULL, 0), + (1704362873159, 6, 'Vibrator', 1704362871734, '126936953789743104', NULL, 0), + (1704362873160, 6, 'Video', 1704362871734, '126936953789743104', NULL, 0), + (1704362873161, 6, 'Viking', 1704362871734, '126936953789743104', NULL, 0), + (1704362873162, 6, 'Vinyl', 1704362871734, '126936953789743104', NULL, 0), + (1704362873163, 6, 'Violet', 1704362871734, '126936953789743104', NULL, 0), + (1704362873164, 6, 'Virgin', 1704362871734, '126936953789743104', NULL, 0), + (1704362873165, 6, 'Virus', 1704362871734, '126936953789743104', NULL, 0), + (1704362873166, 6, 'Vision', 1704362871734, '126936953789743104', NULL, 0), + (1704362873167, 6, 'Vitamin', 1704362871734, '126936953789743104', NULL, 0), + (1704362873168, 6, 'Vodka', 1704362871734, '126936953789743104', NULL, 0), + (1704362873169, 6, 'Volcano', 1704362871734, '126936953789743104', NULL, 0), + (1704362873170, 6, 'Volume', 1704362871734, '126936953789743104', NULL, 0), + (1704362873171, 6, 'Vomit', 1704362871734, '126936953789743104', NULL, 0), + (1704362873172, 6, 'Wad', 1704362871734, '126936953789743104', NULL, 0), + (1704362873173, 6, 'Wagon', 1704362871734, '126936953789743104', NULL, 0), + (1704362873174, 6, 'Waitress', 1704362871734, '126936953789743104', NULL, 0), + (1704362873175, 6, 'Wake', 1704362871734, '126936953789743104', NULL, 0), + (1704362873176, 6, 'Wall', 1704362871734, '126936953789743104', NULL, 0), + (1704362873177, 6, 'Wallet', 1704362871734, '126936953789743104', NULL, 0), + (1704362873178, 6, 'Walrus', 1704362871734, '126936953789743104', NULL, 0), + (1704362873179, 6, 'Wang', 1704362871734, '126936953789743104', NULL, 0), + (1704362873180, 6, 'War', 1704362871734, '126936953789743104', NULL, 0), + (1704362873181, 6, 'Washer', 1704362871734, '126936953789743104', NULL, 0), + (1704362873182, 6, 'Washington', 1704362871734, '126936953789743104', NULL, 0), + (1704362873183, 6, 'Waste', 1704362871734, '126936953789743104', NULL, 0), + (1704362873184, 6, 'Watch', 1704362871734, '126936953789743104', NULL, 0), + (1704362873185, 6, 'Water', 1704362871734, '126936953789743104', NULL, 0), + (1704362873186, 6, 'Watermelon', 1704362871734, '126936953789743104', NULL, 0), + (1704362873187, 6, 'Wave', 1704362871734, '126936953789743104', NULL, 0), + (1704362873188, 6, 'Wax', 1704362871734, '126936953789743104', NULL, 0), + (1704362873189, 6, 'Web', 1704362871734, '126936953789743104', NULL, 0), + (1704362873190, 6, 'Wedding Ring', 1704362871734, '126936953789743104', NULL, 0), + (1704362873191, 6, 'Wedding', 1704362871734, '126936953789743104', NULL, 0), + (1704362873192, 6, 'Weed', 1704362871734, '126936953789743104', NULL, 0), + (1704362873193, 6, 'Well', 1704362871734, '126936953789743104', NULL, 0), + (1704362873194, 6, 'Wench', 1704362871734, '126936953789743104', NULL, 0), + (1704362873195, 6, 'Werewolf', 1704362871734, '126936953789743104', NULL, 0), + (1704362873196, 6, 'Wet', 1704362871734, '126936953789743104', NULL, 0), + (1704362873197, 6, 'Whale', 1704362871734, '126936953789743104', NULL, 0), + (1704362873198, 6, 'Wheel', 1704362871734, '126936953789743104', NULL, 0), + (1704362873199, 6, 'Wheelchair', 1704362871734, '126936953789743104', NULL, 0), + (1704362873200, 6, 'Whip', 1704362871734, '126936953789743104', NULL, 0), + (1704362873201, 6, 'Whisk', 1704362871734, '126936953789743104', NULL, 0), + (1704362873202, 6, 'Whiskey', 1704362871734, '126936953789743104', NULL, 0), + (1704362873203, 6, 'Whistle', 1704362871734, '126936953789743104', NULL, 0), + (1704362873204, 6, 'White', 1704362871734, '126936953789743104', NULL, 0), + (1704362873205, 6, 'Wiener', 1704362871734, '126936953789743104', NULL, 0), + (1704362873206, 6, 'Wind', 1704362871734, '126936953789743104', NULL, 0), + (1704362873207, 6, 'Windmill', 1704362871734, '126936953789743104', NULL, 0), + (1704362873208, 6, 'Window', 1704362871734, '126936953789743104', NULL, 0), + (1704362873209, 6, 'Wine', 1704362871734, '126936953789743104', NULL, 0), + (1704362873210, 6, 'Wing', 1704362871734, '126936953789743104', NULL, 0), + (1704362873211, 6, 'Winter', 1704362871734, '126936953789743104', NULL, 0), + (1704362873212, 6, 'Wish', 1704362871734, '126936953789743104', NULL, 0), + (1704362873213, 6, 'Witch', 1704362871734, '126936953789743104', NULL, 0), + (1704362873214, 6, 'Wizard', 1704362871734, '126936953789743104', NULL, 0), + (1704362873215, 6, 'Wobble', 1704362871734, '126936953789743104', NULL, 0), + (1704362873216, 6, 'Wolf', 1704362871734, '126936953789743104', NULL, 0), + (1704362873217, 6, 'Wonderland', 1704362871734, '126936953789743104', NULL, 0), + (1704362873218, 6, 'Wood', 1704362871734, '126936953789743104', NULL, 0), + (1704362873219, 6, 'Wool', 1704362871734, '126936953789743104', NULL, 0), + (1704362873220, 6, 'Worm', 1704362871734, '126936953789743104', NULL, 0), + (1704362873221, 6, 'Wristwatch', 1704362871734, '126936953789743104', NULL, 0), + (1704362873222, 6, 'Yard', 1704362871734, '126936953789743104', NULL, 0), + (1704362873223, 6, 'Yellowstone', 1704362871734, '126936953789743104', NULL, 0), + (1704362873224, 6, 'Yo-yo', 1704362871734, '126936953789743104', NULL, 0), + (1704362873225, 6, 'Yolk', 1704362871734, '126936953789743104', NULL, 0), + (1704362873226, 6, 'Zero', 1704362871734, '126936953789743104', NULL, 0), + (1704362873227, 6, 'Zombie', 1704362871734, '126936953789743104', NULL, 0), + (1704362873228, 6, 'Zoo', 1704362871734, '126936953789743104', NULL, 0); diff --git a/package-lock.json b/package-lock.json index 499be78..efba794 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,6 +7,11 @@ "": { "name": "ncc-gen", "version": "0.0.0", + "dependencies": { + "discord-snowflake": "^2.0.0", + "jose": "^5.2.0", + "slash-create": "^6.0.2" + }, "devDependencies": { "@cloudflare/workers-types": "^4.20231218.0", "typescript": "^5.0.4", @@ -498,7 +503,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz", "integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==", - "dev": true, "engines": { "node": ">=14" } @@ -685,6 +689,14 @@ } } }, + "node_modules/discord-snowflake": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/discord-snowflake/-/discord-snowflake-2.0.0.tgz", + "integrity": "sha512-MFWier0d78ajvk1lAXUCm7wbNnY2bD7/rqvtemuhoebkBBS9AnA0OwQI7SpYqiy/01GR1raLPTsIOwWCj8Pb+w==", + "engines": { + "node": ">=18" + } + }, "node_modules/esbuild": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", @@ -740,6 +752,11 @@ "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", "dev": true }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" + }, "node_modules/exit-hook": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-2.2.1.tgz", @@ -848,6 +865,19 @@ "node": ">=0.12.0" } }, + "node_modules/jose": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/jose/-/jose-5.2.0.tgz", + "integrity": "sha512-oW3PCnvyrcm1HMvGTzqjxxfnEs9EoFOFWi2HsEGhlFVOXxTE3K9GKWVMFoFw06yPUqwpvEWic1BmtUZBI/tIjw==", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + }, "node_modules/magic-string": { "version": "0.25.9", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", @@ -1034,6 +1064,35 @@ "node": ">=10" } }, + "node_modules/slash-create": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/slash-create/-/slash-create-6.0.2.tgz", + "integrity": "sha512-V2gqs7Ov3C8hjS2aODwzGUM/4WqpRiNXSPh69Bk3soyL7Kvkc/75HfwOgz9fTNNU+H/u5EMtvjR4hJgey0HKHA==", + "dependencies": { + "eventemitter3": "^5.0.1", + "lodash.isequal": "^4.5.0", + "tweetnacl": "^1.0.3", + "undici": "^5.28.2" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/Snazzah" + }, + "peerDependencies": { + "express": "^4", + "fastify": "^3 || ^4" + }, + "peerDependenciesMeta": { + "express": { + "optional": true + }, + "fastify": { + "optional": true + } + } + }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -1088,6 +1147,11 @@ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "dev": true }, + "node_modules/tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + }, "node_modules/typescript": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", @@ -1105,7 +1169,6 @@ "version": "5.28.2", "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.2.tgz", "integrity": "sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==", - "dev": true, "dependencies": { "@fastify/busboy": "^2.0.0" }, diff --git a/package.json b/package.json index d3a60ce..b2afe40 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "ncc-gen", - "version": "0.0.0", + "name": "vore-scenario-gen", + "version": "1.0.0", "private": true, "scripts": { "deploy": "wrangler deploy", @@ -11,5 +11,9 @@ "@cloudflare/workers-types": "^4.20231218.0", "typescript": "^5.0.4", "wrangler": "^3.0.0" + }, + "dependencies": { + "discord-snowflake": "^2.0.0", + "slash-create": "^6.0.2" } } diff --git a/src/commands.ts b/src/commands.ts new file mode 100644 index 0000000..1479e67 --- /dev/null +++ b/src/commands.ts @@ -0,0 +1,376 @@ +import { CommandContext, CommandOptionType, ComponentContext, SlashCommand, type SlashCreator } from 'slash-create/web'; +import { + calculateUnlockedValues, + DELETE_ID, + DONE_ID, + generateErrorMessageFor, + generateFieldFor, + generateMessageFor, + generateValuesFor, + getEmbedFrom, + loadEmbed, + populateLocksFor, + REROLL_ID, + RollTableNames, + SELECT_ID, + selectUnlockedFrom +} from './generated.js'; +import { type DbAccess, DeleteResult, UpdateResult } from './dbAccess.js'; +import { isTable, RollTableOrder, ValueAccess } from './rolltable.js'; +import { getTimestamp, isSnowflake, type Snowflake } from 'discord-snowflake'; + +export class ResponseCommand extends SlashCommand { + private readonly db: DbAccess + private readonly baseUrl: string; + + constructor(creator: SlashCreator, db: DbAccess, baseUrl: string, forGuilds?: Snowflake|Snowflake[]) { + super(creator, { + name: "response", + description: "Modifies the responses available in the generator.", + nsfw: false, + guildIDs: forGuilds, + dmPermission: true, + options: [ + { + type: CommandOptionType.SUB_COMMAND, + name: "add", + description: "Adds a new response to the generator.", + options: [ + { + type: CommandOptionType.INTEGER, + name: "table", + description: "The table to insert the response into.", + choices: RollTableOrder.map(v => ({name: RollTableNames[v], value: v})), + required: true, + }, + { + type: CommandOptionType.STRING, + name: "text", + description: "The text to use as the response.", + required: true, + } + ] + }, + { + type: CommandOptionType.SUB_COMMAND, + name: "list", + description: "Lists responses that will appear in /generate in the current context." + }, + { + type: CommandOptionType.SUB_COMMAND, + name: "edit", + description: "Modifies a response that was previously created.", + options: [ + { + type: CommandOptionType.INTEGER, + name: "table", + description: "The table to update the response from.", + choices: RollTableOrder.map(v => ({name: RollTableNames[v], value: v})), + required: true, + }, + { + type: CommandOptionType.STRING, + name: "old_text", + description: "The text of the response to edit.", + required: true, + }, + { + type: CommandOptionType.STRING, + name: "new_text", + description: "The text to replace the response with.", + required: true, + } + ] + }, + { + type: CommandOptionType.SUB_COMMAND, + name: "delete", + description: "Deletes a response that was previously created.", + options: [ + { + type: CommandOptionType.INTEGER, + name: "table", + description: "The table to delete the response from.", + choices: RollTableOrder.map(v => ({name: RollTableNames[v], value: v})), + required: true, + }, + { + type: CommandOptionType.STRING, + name: "text", + description: "The text of the response to delete.", + required: true, + }, + ] + }, + ] + }); + this.baseUrl = baseUrl + this.db = db + } + + async run(ctx: CommandContext): Promise { + switch (ctx.subcommands[0]) { + case "add": + try { + await this.onAdd(ctx) + } catch (e) { + await ctx.send(generateErrorMessageFor(e, "add a new response")) + } + break + case "list": + try { + await this.onList(ctx) + } catch (e) { + await ctx.send(generateErrorMessageFor(e, "get the list URL")) + } + break + case "edit": + try { + await this.onEdit(ctx) + } catch (e) { + await ctx.send(generateErrorMessageFor(e, "edit a response")) + } + break + case "delete": + try { + await this.onDelete(ctx) + } catch (e) { + await ctx.send(generateErrorMessageFor(e, "delete a response")) + } + break + default: + await ctx.send(generateErrorMessageFor(Error("I don't know what command you want"), "manage responses")) + break + } + } + + private async onAdd(ctx: CommandContext): Promise { + const guildId = ctx.guildID ?? null + const userId = ctx.user.id + const id = ctx.interactionID + if (!isSnowflake(id)) { + throw Error("the snowflake wasn't a snowflake") + } + const timestamp = getTimestamp(id) + const table = ctx.options['add']['table'] + if (!isTable(table)) { + throw Error(`there's no table number ${table}`) + } + const text = ctx.options['add']['text'] + const { timestamp: insertedTimestamp, access, inserted } = await this.db.putResponse(timestamp, table, text, userId, guildId, guildId === null ? ValueAccess.CreatorDM : ValueAccess.Server) + + await ctx.send({ + embeds: [{ + title: `${inserted ? 'Your new' : 'An existing'}${access === ValueAccess.Global ? " global" : ""} response`, + fields: [generateFieldFor(table, text)], + timestamp: new Date(insertedTimestamp), + }], + ephemeral: !inserted, + }) + } + + private async onList(ctx: CommandContext) { + if (ctx.guildID) { + await ctx.send({ + embeds: [{ + title: `Response list for this server`, + description: "Shows all global and server-local responses.", + url: `${this.baseUrl}/responses?server=${ctx.guildID}`, + }] + }) + } else { + await ctx.send({ + embeds: [{ + title: `Response list for DMs`, + description: "It's not supported right now, so please just hang tight." + }] + }) + } + } + + private async onEdit(ctx: CommandContext): Promise { + const guildId = ctx.guildID ?? null + const userId = ctx.user.id + const id = ctx.interactionID + if (!isSnowflake(id)) { + throw Error("the snowflake wasn't a snowflake") + } + const timestamp = getTimestamp(id) + const table = ctx.options['edit']['table'] + if (!isTable(table)) { + throw Error(`there's no table number ${table}`) + } + const oldText = ctx.options['edit']['old_text'] + const newText = ctx.options['edit']['new_text'] + const result = await this.db.updateResponse(timestamp, table, oldText, newText, userId, guildId, guildId === null ? ValueAccess.CreatorDM : ValueAccess.Server) + switch (result.result) { + case UpdateResult.Updated: + await ctx.send({ + embeds: [{ + title: `Your updated response`, + fields: [generateFieldFor(table, oldText), generateFieldFor(table, newText)], + timestamp: new Date(timestamp).toISOString() + }], + }) + break + case UpdateResult.NewConflict: + await ctx.send({ + embeds: [{ + title: `An existing${result.access === ValueAccess.Global ? " global" : ""} response`, + fields: [generateFieldFor(table, newText)], + timestamp: new Date(result.timestamp).toISOString(), + }], + ephemeral: true, + }) + break + case UpdateResult.NoOldText: + await ctx.send({ + embeds: [{ + title: `A nonexistent response`, + fields: [generateFieldFor(table, oldText)], + }], + ephemeral: true, + }) + break + case UpdateResult.OldGlobal: + await ctx.send({ + embeds: [{ + title: `An uneditable global response`, + fields: [generateFieldFor(table, oldText)], + }], + ephemeral: true, + }) + break + } + } + + private async onDelete(ctx: CommandContext): Promise { + const guildId = ctx.guildID ?? null + const userId = ctx.user.id + const id = ctx.interactionID + if (!isSnowflake(id)) { + throw Error("the snowflake wasn't a snowflake") + } + const timestamp = getTimestamp(id) + const table = ctx.options['delete']['table'] + if (!isTable(table)) { + throw Error(`there's no table number ${table}`) + } + const text = ctx.options['delete']['text'] + const result = await this.db.deleteResponse(table, text, userId, guildId, guildId === null ? ValueAccess.CreatorDM : ValueAccess.Server) + switch (result.result) { + case DeleteResult.Deleted: + await ctx.send({ + embeds: [{ + title: 'Your deleted response', + fields: [generateFieldFor(table, text)], + timestamp: new Date(result.timestamp).toISOString(), + }] + }) + break + case DeleteResult.OldGlobal: + await ctx.send({ + embeds: [{ + title: 'An undeletable global response', + fields: [generateFieldFor(table, text)], + timestamp: new Date(result.timestamp).toISOString(), + }], + ephemeral: true + }) + break + case DeleteResult.NoOldText: + await ctx.send({ + embeds: [{ + title: 'A nonexistent response', + fields: [generateFieldFor(table, text)], + }], + ephemeral: true + }) + break + } + } +} + +export class GenerateCommand extends SlashCommand { + private readonly db: DbAccess + + constructor(creator: SlashCreator, db: DbAccess, forGuilds?: Snowflake|Snowflake[]) { + super(creator, { + name: "generate", + description: "Generates a new scenario to play with and sends it to the current channel.", + nsfw: false, + dmPermission: true, + guildIDs: forGuilds, + throttling: { + duration: 5, + usages: 1, + } + }); + this.db = db + if (!forGuilds) { + creator.registerGlobalComponent(DONE_ID, this.onDone.bind(this)) + creator.registerGlobalComponent(REROLL_ID, this.onReroll.bind(this)) + creator.registerGlobalComponent(SELECT_ID, this.onSelect.bind(this)) + creator.registerGlobalComponent(DELETE_ID, this.onDelete.bind(this)) + } + } + + async run(ctx: CommandContext): Promise { + try { + const tables = calculateUnlockedValues() + const responses = await (ctx.guildID + ? this.db.getResponsesInServer(ctx.guildID) + : this.db.getResponsesInDMWith(ctx.user.id)) + const values = generateValuesFor(tables, responses) + const locks = populateLocksFor(values) + await ctx.send(generateMessageFor(values, locks)) + } catch (e) { + await ctx.send(generateErrorMessageFor(e, "generate a scenario for you")) + } + } + + async onSelect(ctx: ComponentContext): Promise { + try { + const oldEmbed = getEmbedFrom(ctx.message) + const {values, locked: oldLocks} = loadEmbed(oldEmbed) + const newLocks = selectUnlockedFrom(ctx.values, oldLocks) + await ctx.editParent(generateMessageFor(values, newLocks)) + } catch (e) { + await ctx.send(generateErrorMessageFor(e, "change the selected components")) + } + } + + async onDone(ctx: ComponentContext): Promise { + try { + const oldEmbed = getEmbedFrom(ctx.message) + const { values } = loadEmbed(oldEmbed) + await ctx.editParent(generateMessageFor(values, undefined)) + } catch (e) { + await ctx.send(generateErrorMessageFor(e, "finish this scenario")) + } + } + + async onReroll(ctx: ComponentContext): Promise { + try { + const oldEmbed = getEmbedFrom(ctx.message) + const { values: oldValues, locked: locks } = loadEmbed(oldEmbed) + const selected = calculateUnlockedValues(oldValues, locks) + const responses = await (ctx.guildID + ? this.db.getResponsesInServer(ctx.guildID) + : this.db.getResponsesInDMWith(ctx.user.id)) + const newValues = generateValuesFor(selected, responses, oldValues) + await ctx.editParent(generateMessageFor(newValues, locks)) + } catch (e) { + await ctx.send(generateErrorMessageFor(e, "reroll this scenario")) + throw e + } + } + + async onDelete(ctx: ComponentContext): Promise { + try { + await ctx.delete(ctx.messageID) + } catch (e) { + await ctx.send(generateErrorMessageFor(e, "delete this scenario")) + } + } +} diff --git a/src/dbAccess.ts b/src/dbAccess.ts new file mode 100644 index 0000000..0832a61 --- /dev/null +++ b/src/dbAccess.ts @@ -0,0 +1,180 @@ +import { type RollableTables, RollTable, RollTableOrder, ValueAccess } from './rolltable.js'; + +interface DbResponse { + tableId: RollTable, + text: string, +} + +export enum UpdateResult { + Updated = 0, + NewConflict = 1, + OldGlobal = 2, + NoOldText = 3, +} + +export enum DeleteResult { + Deleted = 0, + OldGlobal = 2, + NoOldText = 3, +} + +function buildRollableTables(responses: DbResponse[]): RollableTables { + const out: {[key in RollTable]?: string[]} = {} + for (const table of RollTableOrder) { + out[table] = [] + } + for (const { tableId, text } of responses) { + out[tableId]?.push(text) + } + return out as RollableTables +} + +export class DbAccess { + private readonly getResponsesInServerQuery: D1PreparedStatement + private readonly getResponsesInDMQuery: D1PreparedStatement; + private readonly putResponseQuery: D1PreparedStatement; + private readonly checkResponseAlreadyExistsQuery: D1PreparedStatement; + private readonly getResponsesGlobal: D1PreparedStatement; + private readonly updateResponseQuery: D1PreparedStatement; + private readonly deleteResponseQuery: D1PreparedStatement; + + constructor(db: D1Database) { + this.getResponsesGlobal = db.prepare( + `SELECT DISTINCT tableId, text FROM responses + WHERE access = ${ValueAccess.Global}`) + this.getResponsesInServerQuery = db.prepare( + `SELECT DISTINCT tableId, text FROM responses + WHERE access = ${ValueAccess.Global} + OR (access = ${ValueAccess.Server} AND serverSnowflake = ?);`) + this.getResponsesInDMQuery = db.prepare( + `SELECT DISTINCT tableId, text FROM responses + WHERE access = ${ValueAccess.Global} + OR (access = ${ValueAccess.CreatorDM} AND userSnowflake = ?);`) + this.putResponseQuery = db.prepare( + `INSERT OR IGNORE INTO responses (id, tableId, text, timestamp, userSnowflake, serverSnowflake, access) VALUES (?, ?, ?, ?, ?, ?, ?) RETURNING timestamp, access;`) + this.updateResponseQuery = db.prepare( + `UPDATE responses SET text = ?3, timestamp = ?4, userSnowflake = ?5, serverSnowflake = ?6 + WHERE tableId = ?1 AND text = ?2 + AND ((?7 = ${ValueAccess.CreatorDM} AND access = ${ValueAccess.CreatorDM} AND userSnowflake = ?5) + OR (?7 = ${ValueAccess.Server} AND access = ${ValueAccess.Server} AND serverSnowflake = ?6)) + RETURNING timestamp, access;`) + this.deleteResponseQuery = db.prepare( + `DELETE FROM responses + WHERE tableId = ?1 AND text = ?2 + AND ((?5 = ${ValueAccess.CreatorDM} AND access = ${ValueAccess.CreatorDM} AND userSnowflake = ?3) + OR (?5 = ${ValueAccess.Server} AND access = ${ValueAccess.Server} AND serverSnowflake = ?4)) + RETURNING timestamp, access;`) + this.checkResponseAlreadyExistsQuery = db.prepare( + `SELECT timestamp, access FROM responses + WHERE tableId = ?1 AND text = ?2 + AND (access = ${ValueAccess.Global} + OR (?3 = ${ValueAccess.CreatorDM} AND access = ${ValueAccess.CreatorDM} AND userSnowflake = ?4) + OR (?3 = ${ValueAccess.Server} AND access = ${ValueAccess.Server} AND serverSnowflake = ?4));`) + } + + async getGlobalResponses(): Promise { + const {results} = await this.getResponsesGlobal.all() + return buildRollableTables(results) + } + + async getResponsesInServer(inServerSnowflake: string): Promise { + const statement = this.getResponsesInServerQuery.bind(inServerSnowflake) + const {results} = await statement.all() + return buildRollableTables(results) + } + + async getResponsesInDMWith(withUserSnowflake: string): Promise { + const statement = this.getResponsesInDMQuery.bind(withUserSnowflake) + const {results} = await statement.all() + return buildRollableTables(results) + } + + async putResponse(requestTimestamp: number, table: RollTable, text: string, fromUserSnowflake: string, inServerSnowflake: string|null, access?: ValueAccess): Promise<{ + timestamp: number, + access: ValueAccess, + inserted: boolean + }> { + const effectiveAccess = access ?? (inServerSnowflake ? ValueAccess.Server : ValueAccess.CreatorDM) + const relevantSnowflake = access === ValueAccess.Server ? inServerSnowflake : access === ValueAccess.CreatorDM ? fromUserSnowflake : null + const existingResponseStatement = this.checkResponseAlreadyExistsQuery.bind(table, text, effectiveAccess, relevantSnowflake) + const existingResponse = await existingResponseStatement.first<{timestamp: number, access: ValueAccess}>() + if (existingResponse) { + return { + timestamp: existingResponse.timestamp, + access: existingResponse.access, + inserted: false, + } + } + const statement = this.putResponseQuery.bind( + requestTimestamp, table, text, requestTimestamp, fromUserSnowflake, inServerSnowflake, effectiveAccess) + const result = await statement.first<{timestamp: number, access: ValueAccess}>() + if (!result) { + throw Error("no response from insert") + } + return { + timestamp: result.timestamp, + access: result.access, + inserted: true + } + } + + async updateResponse(timestamp: number, table: RollTable, oldText: string, newText: string, userId: string, guildId: string | null, access?: ValueAccess): Promise<{result: UpdateResult.NoOldText|UpdateResult.Updated} | {result: UpdateResult.NewConflict, timestamp: number, access: ValueAccess} | {result: UpdateResult.OldGlobal, timestamp: number, access: ValueAccess.Global}> { + const effectiveAccess = access ?? (guildId ? ValueAccess.Server : ValueAccess.CreatorDM) + const relevantSnowflake = access === ValueAccess.Server ? guildId : access === ValueAccess.CreatorDM ? userId : null + const existingOldResponseStatement = this.checkResponseAlreadyExistsQuery.bind(table, oldText, effectiveAccess, relevantSnowflake) + const existingOldResponse = await existingOldResponseStatement.first<{timestamp: number, access: ValueAccess}>() + if (!existingOldResponse) { + return { + result: UpdateResult.NoOldText + } + } else if (existingOldResponse.access === ValueAccess.Global) { + return { + timestamp: existingOldResponse.timestamp, + access: existingOldResponse.access, + result: UpdateResult.OldGlobal, + } + } + const existingNewResponseStatement = this.checkResponseAlreadyExistsQuery.bind(table, newText, effectiveAccess, relevantSnowflake) + const existingNewResponse = await existingNewResponseStatement.first<{timestamp: number, access: ValueAccess}>() + if (existingNewResponse) { + return { + result: UpdateResult.NewConflict, + timestamp: existingNewResponse.timestamp, + access: existingNewResponse.access, + } + } + const statement = this.updateResponseQuery.bind( + table, oldText, newText, timestamp, userId, guildId, effectiveAccess) + await statement.run() + return {result: UpdateResult.Updated} + } + + async deleteResponse(table: RollTable, text: string, userId: string, guildId: string | null, access?: ValueAccess): Promise< + {result: DeleteResult.Deleted, timestamp: number, access: ValueAccess} | + {result: DeleteResult.NoOldText} | + {result: DeleteResult.OldGlobal, timestamp: number, access: ValueAccess.Global} + > { + const effectiveAccess = access ?? (guildId ? ValueAccess.Server : ValueAccess.CreatorDM) + const relevantSnowflake = access === ValueAccess.Server ? guildId : access === ValueAccess.CreatorDM ? userId : null + const existingOldResponseStatement = this.checkResponseAlreadyExistsQuery.bind(table, text, effectiveAccess, relevantSnowflake) + const existingOldResponse = await existingOldResponseStatement.first<{timestamp: number, access: ValueAccess}>() + if (!existingOldResponse) { + return { + result: DeleteResult.NoOldText + } + } else if (existingOldResponse.access === ValueAccess.Global) { + return { + timestamp: existingOldResponse.timestamp, + access: existingOldResponse.access, + result: DeleteResult.OldGlobal, + } + } + const statement = this.deleteResponseQuery.bind( + table, text, userId, guildId, effectiveAccess) + const deleted = await statement.first<{timestamp: number, access: ValueAccess}>() + if (!deleted) { + throw Error("no response from delete") + } + return {result: DeleteResult.Deleted, timestamp: deleted.timestamp, access: deleted.access} + } +} diff --git a/src/generated.ts b/src/generated.ts new file mode 100644 index 0000000..1e0b091 --- /dev/null +++ b/src/generated.ts @@ -0,0 +1,233 @@ +import { type RollableTables, rollOn, RollTable, RollTableOrder } from './rolltable.js'; +import { + ButtonStyle, + type ComponentActionRow, + type ComponentButton, + type ComponentSelectMenu, + type ComponentSelectOption, + ComponentType, + EmbedField, + MessageEmbed, type MessageEmbedOptions, type MessageOptions +} from 'slash-create/web'; + +export type ComponentValues = { [key in RollTable]?: string } +export type ComponentLocks = { [Key in RollTable]?: boolean } + +export interface GeneratedMessage { + values: ComponentValues + locked?: ComponentLocks +} + +export const RollTableEmoji = { + [RollTable.Setting]: '\u{1f3d9}\ufe0f', + [RollTable.Theme]: '\u{1f4d4}', + [RollTable.Start]: '\u25b6\ufe0f', + [RollTable.Challenge]: '\u{1f613}', + [RollTable.Twist]: '\u{1f500}', + [RollTable.Focus]: '\u{1f444}', + [RollTable.Word]: '\u{2728}' +} as const satisfies {readonly [key in RollTable]: string} + +export const RollTableEmbedTitles = { + [RollTable.Setting]: 'The action takes place...', + [RollTable.Theme]: 'The encounter is themed around...', + [RollTable.Start]: 'The action begins when...', + [RollTable.Challenge]: 'Things are more difficult because...', + [RollTable.Twist]: 'Partway through, unexpectedly...', + [RollTable.Focus]: 'The vore scene is focused on...', + [RollTable.Word]: 'The word of the day is...' +} as const satisfies {readonly [key in RollTable]: string} + +export const RollTableNames = { + [RollTable.Setting]: 'Setting', + [RollTable.Theme]: 'Theme', + [RollTable.Start]: 'Inciting Incident', + [RollTable.Challenge]: 'Challenge', + [RollTable.Twist]: 'Twist', + [RollTable.Focus]: 'Vore Scene Focus', + [RollTable.Word]: 'Word of the Day' +} as const satisfies {readonly [key in RollTable]: string} + + +export const RollTableEmbedsReversed = { + "\u{1f3d9}\ufe0f The action takes place...": RollTable.Setting, + "\u{1f4d4} The encounter is themed around...": RollTable.Theme, + "\u25b6\ufe0f The action begins when...": RollTable.Start, + "\u{1f613} Things are more difficult because...": RollTable.Challenge, + "\u{1f500} Partway through, unexpectedly...": RollTable.Twist, + "\u{1f444} The vore scene is focused on...": RollTable.Focus, + "\u{2728} The word of the day is...": RollTable.Word, +} as const satisfies {readonly [key in RollTable as `${typeof RollTableEmoji[key]} ${typeof RollTableEmbedTitles[key]}`]: key} & {[other: string]: RollTable} + +export function calculateUnlockedValues(original?: ComponentValues|undefined, locks?: ComponentLocks|undefined): RollTable[] { + if (!original && !locks) { + return RollTableOrder + } + const existingItems = original ? RollTableOrder.filter(v => typeof original[v] !== "undefined") : RollTableOrder + return locks ? existingItems.filter(v => locks[v] !== true) : existingItems +} + +export function generateValuesFor(selected: readonly RollTable[], tables: RollableTables, original: ComponentValues = {}): ComponentValues { + const result: ComponentValues = Object.assign({}, original) + for (const table of selected) { + result[table] = rollOn(table, tables) + } + return result +} + +export const LOCK_SUFFIX = " \u{1f512}" +export const UNLOCK_SUFFIX = " \u{1f513}" + +export function generateFieldFor(field: RollTable, value: string, lock: boolean|null = null) { + return { + name: RollTableEmoji[field] + " " + RollTableEmbedTitles[field] + (lock !== null ? (lock ? LOCK_SUFFIX : UNLOCK_SUFFIX) : ""), + value, + } +} + +export function generateEmbedFor(values: ComponentValues, locks: ComponentLocks|undefined): MessageEmbedOptions { + const fields: EmbedField[] = [] + const usableLocks = locks ?? {} + for (const field of RollTableOrder) { + const value = values[field] + if (value) { + fields.push(generateFieldFor(field, value, usableLocks.hasOwnProperty(field) ? usableLocks[field] : null)) + } + } + return { + title: 'Your generated scenario', + fields, + timestamp: new Date().toISOString() + } +} + +export function getEmbedFrom({embeds}: {embeds?: MessageEmbed[]|undefined}): MessageEmbed { + const result = embeds && embeds.length >= 1 ? embeds[0] : null + if (!result) { + throw Error("there were no embeds on the message to read") + } + return result +} +export function loadEmbed(embed: MessageEmbed): GeneratedMessage { + const result: {values: ComponentValues, locked: ComponentLocks} = { + values: {}, + locked: {}, + } + if (!embed.fields || embed.fields.length === 0) { + throw Error("there were no fields on the embed to read") + } + for (const field of embed.fields!) { + let locked: boolean|undefined, + name = field.name + if (name.endsWith(LOCK_SUFFIX)) { + locked = true + name = name.substring(0, name.length - LOCK_SUFFIX.length) + } else if (name.endsWith(UNLOCK_SUFFIX)) { + locked = false + name = name.substring(0, name.length - UNLOCK_SUFFIX.length) + } else { + throw Error(`there was no lock or unlock suffix on ${name}`) + } + const value = field.value + if (RollTableEmbedsReversed.hasOwnProperty(name)) { + const table = RollTableEmbedsReversed[name as keyof typeof RollTableEmbedsReversed] + if (typeof locked !== "undefined") { + result.locked[table] = locked + } + result.values[table] = value + } else { + throw Error(`I don't know a field named ${name}`) + } + } + return result +} + +export function populateLocksFor(values: ComponentValues, original?: ComponentLocks|undefined): ComponentLocks { + const result = Object.assign({}, original) + for (const table of RollTableOrder) { + if (typeof values[table] !== "undefined") { + result[table] = result[table] ?? true + } + } + return result +} + +export function selectUnlockedFrom(values: string[], oldLocks?: ComponentLocks | undefined): ComponentLocks { + const result = Object.assign({}, oldLocks ?? {}) + for (const table of RollTableOrder) { + if (result.hasOwnProperty(table)) { + result[table] = !values.includes(`${table}`) + } + } + return result +} + +export const SELECT_ID = "selected" +export const REROLL_ID = "reroll" +export const DONE_ID = "done" +export const DELETE_ID = "delete" + +export function generateActionsFor(values: ComponentValues, locks: ComponentLocks|undefined): ComponentActionRow[] { + if (!locks) { + return [] + } + const items = RollTableOrder.filter((v) => values.hasOwnProperty(v)) + const lockedItems = items.filter((v) => locks[v] === true) + const selectOptions: ComponentSelectOption[] = items.map((v) => ({ + default: !(locks[v] ?? false), + value: `${v}`, + label: RollTableNames[v], + emoji: {name: RollTableEmoji[v]} + })) + if (selectOptions.length === 0) { + return [] + } + const select: ComponentSelectMenu = { + type: ComponentType.STRING_SELECT, + custom_id: SELECT_ID, + disabled: false, + max_values: selectOptions.length, + min_values: 0, + options: selectOptions, + placeholder: 'Components to reroll' + } + const selectRow: ComponentActionRow = { type: ComponentType.ACTION_ROW, components: [ select ] } + const rerollButton: ComponentButton = { + type: ComponentType.BUTTON, + custom_id: REROLL_ID, + disabled: lockedItems.length === items.length, + emoji: {name: '\u{1f3b2}'}, + label: (lockedItems.length === 0 ? "Reroll ALL" : "Reroll Selected"), + style: ButtonStyle.PRIMARY + } + const doneButton: ComponentButton = { + type: ComponentType.BUTTON, + custom_id: DONE_ID, + disabled: false, + emoji: { name: '\u{1f44d}' }, + label: 'Looks good!', + style: ButtonStyle.SUCCESS, + } + const deleteButton: ComponentButton = { + type: ComponentType.BUTTON, + custom_id: DELETE_ID, + disabled: false, + emoji: { name: '\u{1f5d1}\ufe0f' }, + label: 'Trash it.', + style: ButtonStyle.DESTRUCTIVE, + } + const buttonRow: ComponentActionRow = { type: ComponentType.ACTION_ROW, components: [rerollButton, doneButton, deleteButton] } + return [selectRow, buttonRow] +} + +export function generateMessageFor(values: ComponentValues, locks: ComponentLocks|undefined): MessageOptions { + return { embeds: [generateEmbedFor(values, locks)], components: generateActionsFor(values, locks), ephemeral: false } +} + +export function generateErrorMessageFor(e: unknown, context?: string): MessageOptions { + console.error(`Error when trying to ${context ?? "do something (unknown context)"}`, e) + return { + content: `I wasn't able to ${context ?? "do that"}. Thing is, ${e}...`, + ephemeral: true, + } +} diff --git a/src/index.ts b/src/index.ts index 8087b85..61d159c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -8,25 +8,121 @@ * Learn more at https://developers.cloudflare.com/workers/ */ +import { CloudflareWorkerServer, SlashCreator } from 'slash-create/web'; +import { GenerateCommand, ResponseCommand } from './commands.js'; +import { DbAccess } from './dbAccess.js'; +import { isSnowflake, type Snowflake } from 'discord-snowflake'; +import { RollTableOrder } from './rolltable.js'; +import { RollTableEmbedTitles, RollTableEmoji, RollTableNames } from './generated.js'; + export interface Env { - // Example binding to KV. Learn more at https://developers.cloudflare.com/workers/runtime-apis/kv/ - // MY_KV_NAMESPACE: KVNamespace; - // - // Example binding to Durable Object. Learn more at https://developers.cloudflare.com/workers/runtime-apis/durable-objects/ - // MY_DURABLE_OBJECT: DurableObjectNamespace; - // - // Example binding to R2. Learn more at https://developers.cloudflare.com/workers/runtime-apis/r2/ - // MY_BUCKET: R2Bucket; - // - // Example binding to a Service. Learn more at https://developers.cloudflare.com/workers/runtime-apis/service-bindings/ - // MY_SERVICE: Fetcher; - // - // Example binding to a Queue. Learn more at https://developers.cloudflare.com/queues/javascript-apis/ - // MY_QUEUE: Queue; + BASE_URL: string; + DISCORD_APP_ID: string + DISCORD_APP_SECRET: string + DISCORD_PUBLIC_KEY: string + DISCORD_DEV_GUILD_IDS: string + DB: D1Database +} + +function getHandler(env: Env, token?: string) { + const dbAccess = new DbAccess(env.DB) + const server = new CloudflareWorkerServer() + const creator = new SlashCreator({ + allowedMentions: {everyone: false, roles: false, users: false}, + applicationID: env.DISCORD_APP_ID, + componentTimeouts: true, + defaultImageSize: 0, + disableTimeouts: false, + endpointPath: '/discord/interactions', + handleCommandsManually: false, + publicKey: env.DISCORD_PUBLIC_KEY, + unknownCommandResponse: true, + token: token, + }) + const withGuilds: Snowflake[] = env.DISCORD_DEV_GUILD_IDS ? env.DISCORD_DEV_GUILD_IDS.split(",").flatMap(v => isSnowflake(v) ? [v] : []) : [] + creator.withServer(server) + creator.registerCommand(new GenerateCommand(creator, dbAccess)) + creator.registerCommand(new ResponseCommand(creator, dbAccess, env.BASE_URL)) + creator.registerCommand(new GenerateCommand(creator, dbAccess, withGuilds)) + creator.registerCommand(new ResponseCommand(creator, dbAccess, env.BASE_URL, withGuilds)) + + return { + fetch: server.fetch.bind(server), + syncCommands: creator.syncCommands.bind(creator), + db: dbAccess, + } +} + +function getAuthorization(username: string, password: string): string { + return btoa(username + ":" + password) } export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise { - return new Response('Hello World!'); + const tokenRequest = new Request(`https://discord.com/api/v10/oauth2/token`, { + headers: new Headers({ + "Content-Type": "application/x-www-form-urlencoded", + "Authorization": `Basic ${getAuthorization(env.DISCORD_APP_ID, env.DISCORD_APP_SECRET)}`, + }), + body: new URLSearchParams({"grant_type": "client_credentials", "scope": "applications.commands.update"}), + method: "POST" + }) + const tokenResponse = await fetch(tokenRequest) + if (tokenResponse.status !== 200) { + const text = await tokenResponse.text() + console.error(`Failed getting token`, text) + return new Response(`Could not sync commands: Failed getting token: ${tokenResponse.status} ${tokenResponse.statusText}\n${text}`, {status: 500}) + } + const json = await tokenResponse.json() as {access_token: string} + const handler = getHandler(env, "Bearer " + json.access_token) + const url = new URL(request.url) + if (url.pathname === "/discord/interactions") { + try { + return handler.fetch(request, env, ctx) + } catch (e) { + console.error("Failed to respond to interactions endpoint", e); + return new Response(`Could not respond to interaction: ${e}`, { + status: 500 + }) + } + } else if (url.pathname === "/discord/sync") { + try { + await handler.syncCommands({ + deleteCommands: true, + syncGuilds: true, + }) + } catch (e) { + console.error("Failed to respond to sync endpoint", e) + return new Response(`Could not sync commands: ${e}`, { + status: 500, + }) + } + return new Response(`Synced commands!`, { + status: 200, + }) + } else if (url.pathname === "/responses") { + try { + const response = [] + const server = url.searchParams.get("server") + const tables = await (server === null + ? handler.db.getGlobalResponses() + : handler.db.getResponsesInServer(server)) + for (const table of RollTableOrder) { + response.push(`${RollTableNames[table]} - ${RollTableEmoji[table]} ${RollTableEmbedTitles[table]}`) + for (const value of tables[table]) { + response.push(` * ${value}`) + } + response.push('') + } + return new Response(response.join('\n'), {status: 200}) + } catch (e) { + console.error("Failed to respond to list endpoint", e) + return new Response(`Could not list responses: ${e}`, { + status: 500, + }) + } + } else { + return new Response(`Invalid path ${url.pathname}`, {status: 404}) + } }, }; diff --git a/src/rolltable.ts b/src/rolltable.ts new file mode 100644 index 0000000..27ed1da --- /dev/null +++ b/src/rolltable.ts @@ -0,0 +1,43 @@ +export enum RollTable { + Setting = 0, + Theme = 1, + Start = 2, + Challenge = 3, + Twist = 4, + Focus = 5, + Word = 6, +} + +export enum ValueAccess { + Global = 0, + Server = 1, + CreatorDM = 2, +} + +export const RollTableOrder = + [RollTable.Setting, RollTable.Theme, RollTable.Start, RollTable.Challenge, RollTable.Twist, RollTable.Focus, RollTable.Word] as const satisfies RollTable[] + +export const RollTableOrdinals = + { + [RollTable.Setting]: 0, + [RollTable.Theme]: 1, + [RollTable.Start]: 2, + [RollTable.Challenge]: 3, + [RollTable.Twist]: 4, + [RollTable.Focus]: 5, + [RollTable.Word]: 6, + } as const satisfies {[key in RollTable]: number} & {[key in Extract as typeof RollTableOrder[key]]: key} + +export type RollableTables = {readonly [key in RollTable]: readonly string[]} + +export function isTable(val: number): val is RollTable { + return RollTableOrdinals.hasOwnProperty(val) +} + +export function rollOn(table: RollTable, tables: RollableTables): string { + const values = tables[table] + if (values.length === 0) { + throw Error(`no possible options for table ${table}`) + } + return values[Math.floor(values.length * Math.random())] +} diff --git a/wrangler.toml b/wrangler.toml index 03404a2..44ae9ea 100644 --- a/wrangler.toml +++ b/wrangler.toml @@ -1,51 +1,17 @@ -name = "ncc-gen" +name = "vore-scenario-generator" main = "src/index.ts" compatibility_date = "2023-12-18" -# Variable bindings. These are arbitrary, plaintext strings (similar to environment variables) -# Note: Use secrets to store sensitive data. -# Docs: https://developers.cloudflare.com/workers/platform/environment-variables -# [vars] -# MY_VARIABLE = "production_value" - -# Bind a KV Namespace. Use KV as persistent storage for small key-value pairs. -# Docs: https://developers.cloudflare.com/workers/runtime-apis/kv -# [[kv_namespaces]] -# binding = "MY_KV_NAMESPACE" -# id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - -# Bind an R2 Bucket. Use R2 to store arbitrarily large blobs of data, such as files. -# Docs: https://developers.cloudflare.com/r2/api/workers/workers-api-usage/ -# [[r2_buckets]] -# binding = "MY_BUCKET" -# bucket_name = "my-bucket" - -# Bind a Queue producer. Use this binding to schedule an arbitrary task that may be processed later by a Queue consumer. -# Docs: https://developers.cloudflare.com/queues/get-started -# [[queues.producers]] -# binding = "MY_QUEUE" -# queue = "my-queue" - -# Bind a Queue consumer. Queue Consumers can retrieve tasks scheduled by Producers to act on them. -# Docs: https://developers.cloudflare.com/queues/get-started -# [[queues.consumers]] -# queue = "my-queue" - -# Bind another Worker service. Use this binding to call another Worker without network overhead. -# Docs: https://developers.cloudflare.com/workers/platform/services -# [[services]] -# binding = "MY_SERVICE" -# service = "my-service" - -# Bind a Durable Object. Durable objects are a scale-to-zero compute primitive based on the actor model. -# Durable Objects can live for as long as needed. Use these when you need a long-running "server", such as in realtime apps. -# Docs: https://developers.cloudflare.com/workers/runtime-apis/durable-objects -# [[durable_objects.bindings]] -# name = "MY_DURABLE_OBJECT" -# class_name = "MyDurableObject" - -# Durable Object migrations. -# Docs: https://developers.cloudflare.com/workers/learning/using-durable-objects#configure-durable-object-classes-with-migrations -# [[migrations]] -# tag = "v1" -# new_classes = ["MyDurableObject"] +[vars] +# BASE_URL +# DISCORD_APP_ID +# DISCORD_APP_SECRET +# DISCORD_PUBLIC_KEY +# DISCORD_DEV_GUILD_IDS + +[[d1_databases]] +binding = "DB" # i.e. available in your Worker on env.DB +database_name = "production-ncc-gen" +database_id = "d09d3c74-c75f-4418-8f1b-2fe7f21637e6" +migrations_table = "d1_migrations" +migrations_dir = "migrations"