All Projects β†’ matthewnau β†’ randmoji

matthewnau / randmoji

Licence: MIT license
Generate wacky Bitmoji avatars using the private API.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to randmoji

zuly
πŸ€– | Hi, I'm zuly, a brazilian bot! Focused on animes!
Stars: ✭ 45 (+164.71%)
Mutual labels:  fun
extreme-carpaccio
Slicing and coding game
Stars: ✭ 116 (+582.35%)
Mutual labels:  fun
snapchat
Messing around with Snapchat's web APIs
Stars: ✭ 51 (+200%)
Mutual labels:  bitmoji
birthday.py
πŸŽ‰ A simple discord bot in discord.py that helps you understand the usage of SQL databases
Stars: ✭ 30 (+76.47%)
Mutual labels:  fun
map-replace.js
a VSCode extension that replace selected string with custom JavaScript function.
Stars: ✭ 25 (+47.06%)
Mutual labels:  fun
soundboard
cross-platform desktop application to spice up your audio/video conferences
Stars: ✭ 50 (+194.12%)
Mutual labels:  fun
give-me-money
πŸ’° I'm so cute. Please give me money. ζˆ‘εΎˆε―ηˆ±οΌŒθ―·η»™ζˆ‘ι’±γ€‚
Stars: ✭ 54 (+217.65%)
Mutual labels:  fun
anime-scraper
[partially working] Scrape and add anime episode stream URLs to uGet (Linux) or IDM (Windows) ~ Python3
Stars: ✭ 21 (+23.53%)
Mutual labels:  fun
crazy-canvas
Simple canvas playground
Stars: ✭ 12 (-29.41%)
Mutual labels:  fun
observations
Beobachtungen und Betrachtungen rund um das Informatik-Studium an der HSLU
Stars: ✭ 45 (+164.71%)
Mutual labels:  fun
recaptcha-unpaid-labor
Make ReCaptcha's "I'm not a robot" text more accurate
Stars: ✭ 15 (-11.76%)
Mutual labels:  fun
FunVideo
A series of embeddable theme into video, include animation and voice.
Stars: ✭ 19 (+11.76%)
Mutual labels:  fun
is-odd-or-even
Determines if a given number is odd or even.
Stars: ✭ 15 (-11.76%)
Mutual labels:  fun
Discord-Study-Bot
Discord-Study-Bot is a Study-Time-based leaderboard system in discord servers. This features an Overall leaderboard and leaderboards based on a Daily, Weekly, and Monthly basis.
Stars: ✭ 20 (+17.65%)
Mutual labels:  fun
penney
Penney's Game
Stars: ✭ 14 (-17.65%)
Mutual labels:  fun
MBOX
Check your Gmail on linux via TERMINAL!
Stars: ✭ 13 (-23.53%)
Mutual labels:  fun
perseverance-parachute-generator
Generate your own Perseverance parachute-style secret codes!
Stars: ✭ 17 (+0%)
Mutual labels:  fun
FunUtils
Some codes i wrote to help me with me with my daily errands ;)
Stars: ✭ 43 (+152.94%)
Mutual labels:  fun
StarWarsArrays.jl
Arrays indexed as the order of Star Wars movies
Stars: ✭ 93 (+447.06%)
Mutual labels:  fun
mango
A @discord bot that has lots of features πŸ₯­
Stars: ✭ 22 (+29.41%)
Mutual labels:  fun

Randmoji

This is a random generator for making fun, and wacky random Bitmoji avatars! The Node.js file uses the private API to render a completely unique Bitmoji from a list of possible attributes.

Randmoji can generate male and female Bitmoji avatars. No two avatars are similar. Every single one consists of multiple different combinations. See what funny combinations you can find!


Using the program

Using Randmoji could not be any simpler! Simply fork the project from GitHub and run the only JavaScript file with Node. The program takes only one argument: the sex of the Bitmoji that you want to be generated. The options are male or female. This argument is needed because each sex has different attributes on the list that Randmoji polls from. Here's the program's syntax:

node randmoji.js <sex>

After running the script, it will output the link to your randomly generated Bitmoji! Simply copy and paste this image link into your browser or choice and enjoy!


Understanding the Bitmoji API

In order to create a random Bitmoji, I had to understand how the API works. So here's what I figured out. You must provide a unique user-id. You can either use your own, or use someone else's since you are directly overriding the values associated with it. Look at the following example image URL:

https://render.bitstrips.com//render/10221787/316830037_16_s4-v1.png?pd2={%22cranium%22:%22cranium_bm35%22,%22forehead%22:%22forehead_bm1%22,%22hair_back%22:%22hair_back_blank%22,%22hair_front%22:%22hair_front_bm35%22,%22hairbottom%22:%22hairbottom_blank%22,%22beard%22:%22beard_bm4_1%22,%22stachin%22:%22stachin_bm1_1%22,%22stachout%22:%22stachout_bm1_1%22,%22mouth%22:%22mouth_bm3%22,%22tongue%22:%22tongue_bm1_1%22,%22brow_L%22:%22brow_bm3%22,%22brow_R%22:%22brow_bm3%22,%22detail_T%22:%22detail_T_bm14%22,%22detail_L%22:%22_blank%22,%22detail_R%22:%22_blank%22,%22detail_E_L%22:%22detail_E_bm7%22,%22detail_E_R%22:%22detail_E_bm7%22,%22nose%22:%22nose_bm15%22,%22hat%22:%22hat_bmfloppy%22,%22glasses%22:%22glasses_bm3d%22}&colours={%22ff9866%22:9476876,%22ffcc99%22:5988934,%224f453e%22:12795028,%22926715%22:2073019,%2236a7e9%22:921868,%226f4b4b%22:8626436}&body={%22body_type%22:1}&sex=1&outfit=889221&proportion=3&cropped=%22body%22&scale=1&style=4

This extremely large URL is composed of many small pieces of styling. Below will detail the basics of styling, and where you can find more information on styling your Bitmoji.

  • https://render.bitstrips.com//render/ is what lets the server know that you are rendering a custom avatar, not a Bitstrip comic. Comics are unable to be styled for some unknown reason.
  • 10221787 is the unique comic ID. There are thousands of comics available in the comics.json file. This ID is what determines what pose the Bitmoji will be in when rendered. Although all background clipart associated with the comic will not show, this still allows for thousands of possible poses.
  • 316830037_16_s4-v1 is the unique user ID. Every registered Bitmoji user has one. This is different for a user's Bitmoji and Bitstrip avatars. The _s4 signifies that its the Bitmoji version.
  • colours={%22ff9866%22:9476876,%22ffcc99%22:5988934,%224f453e%22:12795028,%22926715%22:2073019,%2236a7e9%22:921868,%226f4b4b%22:8626436} is responsible for changing the colors of different parts of the Bitmoji. Every color contained in the object has a key and value. The key is what determines what is being colored, and the value is the color itself. Bitmoji's color values are in decimal (base 10), so don't use hexadecimal or the server will throw an error.
  • pd2={%22cranium%22:%22cranium_bm35%22,%22forehead%22:%22forehead_bm1%22,%22hair_back%22:%22hair_back_blank%22,%22hair_front%22:%22hair_front_bm35%22,%22hairbottom%22:%22hairbottom_blank%22,%22beard%22:%22beard_bm4_1%22,%22stachin%22:%22stachin_bm1_1%22,%22stachout%22:%22stachout_bm1_1%22,%22mouth%22:%22mouth_bm3%22,%22tongue%22:%22tongue_bm1_1%22,%22brow_L%22:%22brow_bm3%22,%22brow_R%22:%22brow_bm3%22,%22detail_T%22:%22detail_T_bm14%22,%22detail_L%22:%22_blank%22,%22detail_R%22:%22_blank%22,%22detail_E_L%22:%22detail_E_bm7%22,%22detail_E_R%22:%22detail_E_bm7%22,%22nose%22:%22nose_bm15%22,%22hat%22:%22hat_bmfloppy%22,%22glasses%22:%22glasses_bm3d%22} is what determines each and every unique property. Just like the colors, every item has a key and value pair. All possible options are outlined in the bitmoji.json file. Use this as a guide on sending a custom query.
  • body={"body_type":1} is what sets the physical size of the Bitmoji (such as weight, and breast size on female avatars). These values are also listed in the JSON file.
  • cropped="body" sets the avatar to crop all extra space to the body. The edges of the images will be as tight around the avatar as possible. The only other possible options are head or empty.
  • outfit=889221 sets the outfit.
  • scale=1 changes the resolution of the rendered avatar. Higher values are better resolutions.
  • style=4 This does not directly affect anything, but is associated with the style of the Bitmoji. Just like _s4 in the unique ID.
  • sex=1 signifies the Bitmoji's sex. 1 is for male, 2 is for female.
  • proportion=3 determines the face/head shape.
  • There are other options that dtermine what the image will look like such as head_rotation= and body_rotation=. These parameters take a numeric value and cause the image to rotate that specific part of the avatar.

Not all of these values need to be used or provided. Simply add any parameter that you desire. Finally, the above URL provided as an example would render the following image:


Product disclaimer

This code is in no way affiliated with, authorized, maintained, sponsored or endorsed by Bitmoji or any of its affiliates or subsidiaries. This is an independent and unofficial product. Use at your own risk.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].