Automate your beautiful (?) Place creations!
Have you struggled coordinating with other redditors to draw your masterpiece(s) on Reddit's Place? This is a way to automatically coordinate everyone to work together on a project!
Project owners can simply draw an image using the Place colors, specify the coordinate at which they want it, and start an autoplace server. Clients can then connect to servers and will automatically be given instructions for which pixels to paint and which color to paint it.
There are several tool stored in this repo. They are independent tools that serve different purposes:
- the autoplace bot. A python bot that reads from a template image and maintains the target area in /r/place
- console_agent A javascript-based loop that maintains the current look of your area. Modify
babaevski
for your region of /r/place - tampermonkey_overlay Javascript code designt to run in the Tampermonkey browser extension. Read the original posting for more information.
- coming next: focus-area prioritized maintenance, via PlaceBot
- Python 3.5 or higher
- Requests
- NumPy (If running a server)
- Websockets
- A Reddit account (If running a client)
These can be installed manually or by running pip3 install -r requirements.txt
- Make sure you fulfill the requirements above
- Create an image using the the colors available in Place (See below)
- If you use any other colors than the Place palette, they will be ignored. This way you can draw pictures which are not rectangular as well.
- Start the server with
python3 place_server.py <project name> <image> <x> <y>
- Project name is the name that you give to clients so they can join the project
- Image is the picture you made in step 2
- x and y are the coordinates at which to draw the image
- The server accepts optional arguments for the hosts to allow and the port to listen on
- Run
python3 place_server.py -h
for help
- Watch the magic happen!
- Obtain a host, port and project from Reddit, a friend, your grandma or the local fire department.
- Start the client with
python3 place_client.py <host> <port> --proj <project name>
- The script will prompt you for your Reddit credentials
- You can also use
--user <username>
and/or--pass <password>
to provide credentials directly
- You can also use
- Watch the magic happen!
These are the valid colors in the Place palette: