Moth Cult

Moth Cult is a faction that appeared in 2024/late 2023. Its leader is a user going by M, or sometimes MCL/Moth Cult Leader(also known by the username /~Ter8).
As a loose faction, the Moth Cult features a Discord server which contains 85 members(as of September 1st, 2024), though M/Ter8 is the only one who has a notable presence within YWOT.
M's first notable action was making a simple script that spammed "MOTHS," and later "BECOME A MOTH! MOTHS ARE GODS!OBEY THE MOTHS!" all over the Spawn region.
They later gained attention for copying the actions of another user named The Janitor, first by creating a script-maintained box at the center of Spawn and soon after by deploying their own roombas. Similar to The Janitor, Moth Cult's presence was met with strong pushback from some of YWOT's more unruly users(Ex. this wiki page has been repeatedly vandalized.)
M would later introduce a number of unique scripted creations, including some which connected Spawn to Our World of Text, a sister site where Moth Cult is also active. 
File:Moth Roomba V3.png|The Moth Cult's Roomba(First seen February 21st, 2024)
==Moth Roomba==
The creation most commonly associated with M.
The Moth Roomba first appeared on February 21st, 2024, after which it became a regular presence at spawn.
M's roomba acted in a way similar to the Janitor's roomba except it moved randomly instead of traveling towards text.
The code for M's roomba was made public on March 4th, 2024.
 import time
 import websocket
 import requests
 import json
 import random
 #╔═╗║╚╝
 r_asci = r""" 
 ╔════════════╗ 
 ║ROOMBA V3 by║ 
 ║moth cult(M)║ 
 ║JOIN DISCORD║ 
 ║vBC7vHqcnn ║ 
 ╚════════════╝ 
 """
 roomba_x = 32
 roomba_y = 32
 def coord_in_spawn(x,y):
 if x<=16 and x>-33:
 if y<=8 and y>-19:# theres a off-by one error in the negative x and y, but it doesnt matter since i used > and not >=
 print('STOPPED BAD PATH!')
 return True
 def path_intersects_spawn(x,y,target_x,target_y):
 ints = False
 while x != target_x or y != target_y:
 if coord_in_spawn(x,y):
 ints=True
 return True
 if x > target_x:
 x -= 1
 if x < target_x:
 x += 1
 if y > target_y:
 y -= 1
 if y < target_y:
 y += 1
 if coord_in_spawn(x,y):
 ints=True
 return True
 return ints
 def get_dest():
 work = False
 while not work:
 target_x = random.randint(-128,128)
 target_y = random.randint(-64,64)
 print(target_x,target_y)
 if not path_intersects_spawn(roomba_x,roomba_y,target_x,target_y):
 work=True
 return target_x,target_y
 target_x,target_y = get_dest()
 home = False
 while True:
 try:
 
 response = requests.post("https://www.yourworldoftext.com/").cookies.items()[0][1]
 print(response)
 headers = {
 "Cookie": f"csrftoken={response}"
 }
 max_ed_len = 16*8
 url = "wss://www.yourworldoftext.com/ws/"
 rid = 0
 l_id = 0
 
 def build_edit(tx,ty,lx,ly,char):
 global l_id
 l_id += 1
 edit = []
 edit.append(tx)
 edit.append(ty)
 edit.append(ly)
 edit.append(lx)
 edit.append("CURRENT_TIME")
 edit.append(char)
 edit.append(l_id)
 return edit
 def build_json(edits):
 global rid
 rid += 1
 rjsn = {"kind":"write","request_id":rid,"edits":edits}
 return json.dumps(rjsn).replace("CURRENT_TIME",str(round(time.time()*1000)))
 edits = []
 xtemp = 0
 ws = websocket.create_connection(url,headers=headers)
 datar = ws.recv()
 print(datar)
 ws.send("""{"kind":"fetch","request_id":1,"fetchRectangles":[{"minX":-13,"minY":-3,"maxX":12,"maxY":-3},{"minX":-13,"minY":-2,"maxX":12,"maxY":-2},{"minX":-13,"minY":-1,"maxX":12,"maxY":-1},{"minX":-13,"minY":0,"maxX":12,"maxY":0},{"minX":-13,"minY":1,"maxX":12,"maxY":1},{"minX":-13,"minY":2,"maxX":12,"maxY":2}]}""")
 rid += 1
 datar = ws.recv()
 print(datar)
 ws.send("""{"kind":"position","request_id":2,"position":{"x":0,"y":0}}""")
 rid += 1
 gw = 16
 gh = 8
 def convert_to_grid(x,y):
 tilesx = x//gw
 tilesy = y//gh
 letterx = x%gw
 lettery = y%gh
 return tilesy, tilesx, letterx, lettery
 def place_tile(line,x,y):
 edits = []
 for letter in line:
 if letter != "X":
 tx,ty,lx,ly = convert_to_grid(x,y)
 edits.append(build_edit(tx,ty,lx,ly,letter))
 x += 1
 return edits
 offset = -20
 mult = r_asci
 while True:
 if rid > 250 and not home:
 print(1/0)
 if roomba_x == target_x and roomba_y == target_y:
 if home:
 print(1/0)
 target_x,target_y = get_dest()
 if roomba_x > target_x:
 roomba_x -= 1
 if roomba_x < target_x:
 roomba_x += 1
 
 if roomba_y > target_y:
 roomba_y -= 1
 if roomba_y < target_y:
 roomba_y += 1
 print(roomba_x,roomba_y,target_x,target_y)
 
 
 big_edits = []
 gad = 0
 for stra in mult.split("\n"):
 
 
 edits = place_tile(stra,roomba_x,roomba_y+gad)
 
 big_edits.extend(edits)
 gad += 1
 n = 8*16
 to_send = [big_edits[i:i+n] for i in range(0, len(big_edits), n)]
 
 for s in to_send:
 
 time.sleep(0.6)
 data = build_json(s)
 ws.send(data)
 time.sleep(0.6)
 datar = ws.recv()
 rid += 1
 except KeyboardInterrupt:
 if home:
 print(1/0)
 home = input("Home? (Y/N): ").lower()[0]
 if home == "y":
 target_x = 32
 target_y = 32
 home = True
 else:
 print(1/0)
 except ZeroDivisionError:
 if home:
 print(1/0)
 pass
 except:
 pass
==Toy Car==
Created by M on March 13th 2024.
The Toy Car was a text object that operated in a manner similar to the roomba. The main difference was that it was intended to be steered by users, who could control which direction it goes in by typing "x"'s at designated locations within the car.
The car did not seem to function properly however as it would simply delete user inputs without moving.
==YWOT Chatroom ==
Created by M on March 13th, 2024. 
Category:Users
Category:Spam Central
The YWOT Chatroom was a scripted text board which repaired itself automatically. Users could add messages to the chatroom by typing at the top of the board and entering an "x" at a designated location below.
==OWOT-YWOT Bridges ==
M has been known to create two types of bridges that connected YWOT to its sister website Our World of Text. One type was a small portal within which edits are synced between the two websites. The other was a chatroom that YWOT users can use to interact with the OWOT Chat.
Prior to this, M has found a way to access YWOT on the OWOT client, presumably enabling them to teleport and paste on YWOT.
== Moth Cult Discord ==
The Moth Cult Discord server was created on February 19th, 2024 and bears host to a small community(85 members as of September 1st, 2024). The members were sourced in large part from advertisements on YWOT and OWOT.
The server worships a moth god, who was named Catha'vi by M/Ter8 on March 18th, 2024. Since then the server has created multiple depictions of their deity.
File:Mothgod.png|Initial Catha'vi Design by M/Ter8(April 5th, 2024)
File:Mothgod2.png|Catha'vi Render by M/Ter8(April 20th, 2024)
File:Mothgod3.png|WIP Render
File:Mothgod4.png|Catha'vi Fanart by KVTKUN(April 30th, 2024)
File:Mothgod5.png|Fanart by Shadow Guy(August 13th, 2024)
File:Screenshot 2024-09-01 at 90633 PM.png|Doctrines of Catha'vi
Category:Scripters