randopeep v1.1.6
Rando Peeps Data
Originally I made this for generating fake NPCs for RPGs & fake accounts for things online.
What random stuff can it generate?
All parameters are optional.
n
parameters is how many you would like, leave blank for 1.
People
randopeep.name(params, n)
- a person's name,params
are explained belowrandopeep.job(n)
- a job a person might dorandopeep.invention(n)
- a seemingly awesome-sounding invention
params
A lot of different types of names can be generated. All parameters are optional, here are the defaults:
{
'origin' : random - 'chinese', 'elven/dark', 'dwarven','elven', 'english', 'germanic','japanese','orcish','spanish','netrunner',
'gender': random - 'male','female',
'last': true,
'justLast': false,
'prefix': random - true, false,
'returnData': false,
}
origin
- the place/time the names come fromgender
- male/female, if names are genderedlast
- get a lastname?justLast
- get lastname only?prefix
- look up gendered prefix, if applicablereturnData
- return options (as generated) withname
field, good if you want random gender/origin, but want to know about it after
If you set any of them to an array, it will pick a random element.
Places
randopeep.address.state(n)
- a US staterandopeep.address.state.a(n)
- an abbreviated US staterandopeep.address.zip(n)
- a zipcoderandopeep.address.city(n)
- a pretend cityrandopeep.address.geo(n)
- a geolocationrandopeep.address.streetName(n)
- a streetNamerandopeep.address.streetAddress(useFullAddress, n)
- a street address, set useFullAddress to get secondary addressrandopeep.address.phone(n)
- a phone numberrandopeep.address.uk.country(n)
- a country in the UKrandopeep.address.uk.county(n)
- a county in the UK
Credit-card Numbers
randopeep.cc(type, charCount, n)
- a credit-card,type
is "visa", "mastercard", "amex", or "discover".charCount
should be 13 or 16
Corporate Things
randopeep.corporate.name(type, n)
- a corporate name,type
is explained belowrandopeep.corporate.catchPhrase(n)
-n
corporate catchphrasesrandopeep.corporate.bs(n)
-n
lines of corporate BS
type
It can be one of these:
cyber
- a company from the retrofuturefirm
- a law-firm, all last names are random non-fantasy, but from the same originsmall
- a small companylarge
- a large corp
Internet Things
randopeep.internet.ip(n)
- an IP addressrandopeep.internet.domain(derived, n)
- a internet domainname,derived
is explained, belowrandopeep.internet.email(derived, n)
- an email address,derived
is explained, belowrandopeep.internet.username(derived, n)
- an internet username,derived
is explained, below
derived
Will attempt to use the text that you give it as a base for generating other things. Makes more-legit looking email, if you already know the name, for example.
Random Text
randopeep.ipsum(n, list)
-n
words from ipsumlist
, default list is "lorem" and default count is 200
Clickbait
randopeep.clickbait.headline(star, n)
- a clickbait headline,star
is the optional name of a star for the headline to be aboutrandopeep.clickbait.star(n)
- a star from a headline
Other stuff
randopeep.data
- the raw data, keyed by list namerandopeep.get(list, n)
-n
items fromlist
Usage
See unit-tests in test/test.js if you need more details.
Node
Install: npm install randopeep
in your code:
const randopeep = require('randopeep')
const myFakeName = randopeep.name()
Browser
Just include randopeep.js
in your thing, and use it like normal:
<script src="http://konsumer.js.org/randopeep/randopeep.js"></script>
<script>
document.body.innerHTML = "I'm cool dude named " + randopeep.name({gender:'male'})
</script>
There is also support for AMD/require.js, just put out/randopeep.js in your application dir, and do this:
define(['randopeep'], function(randopeep){
document.body.innerHTML = "I'm cool lady named " + randopeep.name({gender:'female'})
})
Adding your own name-libraries
You can add your own, if you install dev-tools with npm install
then add whatever you want to data/ dir, and run npm run build
.
Format is 1 item per line.
Using name-libraries
Let's pretend some of the built-in wordlist libraries don't have the randopeep.name()
convenience function, and load the libraries, directly:
const myLeetName = randopeep.get('name/english/female/first') + ' ' + randopeep.get('name/netrunner/first')
or even use formatting to make the code a bit neater:
const myLeetName = randopeep.format('{0} {1}',
randopeep.get('name/chinese/male/first'),
randopeep.get('name/netrunner/first')
)
Testing
You can run my CLI tests with npm test
or open test/index.html to run same tests, in-browser.
TODO
- use the GURPS class-data
- ipsum could be smarter with English, so it can assemble seemingly sensical text.
- use some packetstorm wordlists to generate more stuff
- setup JSONP/REST wordlist service, so none of this needs dictionaries to be local
- add support for specific types of clickbait headlines, like "tech": "X has a serious flaw, that will probably crash the internet"
- Look at chance.js for inspiration
Credits
- see data credits for info about where a lot of this stuff came from.
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago