docs: wikidata creation kit + policy-safe wikipedia draft; site: allow Bing/Claude/DuckDuck bots, add url+mainEntityOfPage

This commit is contained in:
SirHumza committed 2026-10-18 17:01:03 +02:00
1 parent b5d6817fe1
commit 4f02fa348e
6 files changed
+493

No files matched your search

+67
View File
@@ -0,0 +1,67 @@
<!--
Wikipedia DRAFT for orbisRPC.
READ THIS FIRST:
- This is meant for the DRAFT namespace (Draft:OrbisRPC), NOT article
mainspace. New accounts cannot create mainspace articles; drafts go through
Articles for Creation (AfC).
- This WILL be declined right now. Wikipedia requires significant coverage in
independent, reliable, secondary sources (WP:GNG / WP:NSOFTWARE). orbisRPC
currently has none — no press, no third-party writeups. The only sources
below are the project's own repo/site, which are not independent.
- Do not remove the {{notability}} / {{COI}} tags to sneak it through. That
gets the page speedily deleted and your account warned.
- Use this to have the text ready the day independent coverage exists (a
GBAtemp/PSX-Place writeup, a YouTube review counted as a source is weak, a
news article is ideal). Then fill in <ref> citations and submit.
- You are the maintainer — disclose it ({{COI}} and a note on your user page).
-->
{{Draft article|orbisRPC|subject=software}}
{{notability|date=October 2026}}
{{COI|date=October 2026}}
{{Infobox software
| name = orbisRPC
| logo =
| screenshot =
| caption =
| author = SirHumza, CyberMask367
| developer =
| released =
| latest release version = 1.0.0
| latest release date =
| programming language = C
| operating system = [[PlayStation 4]] ([[FreeBSD]]-based Orbis OS)
| platform = [[PlayStation 4]]
| genre = [[Discord]] [[Rich Presence]] utility
| license =
| website = https://sirhumza.github.io/orbisRPC/
}}
'''orbisRPC''' is a free, [[open-source software|open-source]] [[Discord]] [[Rich Presence]] utility for the [[PlayStation 4]]. It runs as a payload on [[GoldHEN]]-jailbroken consoles and displays the game currently being played — title, cover art and a play timer — on a user's Discord profile.<ref name="repo">{{cite web |title=orbisRPC repository |url=https://github.com/SirHumza/orbisRPC |access-date=18 October 2026}}</ref> Unlike earlier PlayStation 4 rich-presence tools, which are PC-side scripts, orbisRPC runs entirely on the console and connects directly to the Discord gateway over [[Transport Layer Security|TLS]].<ref name="repo" />
== Features ==
orbisRPC detects the foreground application on the console and reports it to Discord. Coverage includes retail PlayStation 4 titles, homebrew software, and a curated list of PlayStation, PlayStation 2 and PlayStation Portable titles, with automatic cover art drawn from image databases.<ref name="repo" />
The software supports [[PlayStation 4 system software|firmware]] versions 5.05 through 13.52, and is installed as a single package that can start automatically on boot.<ref name="repo" />
== See also ==
* [[GoldHEN]]
* [[Rich Presence]]
* [[PlayStation 4 homebrew]]
== References ==
{{reflist}}
<!--
TODO before submitting:
1. Replace every {{cite web}} pointing at the repo/site with INDEPENDENT
coverage (news article, reputable blog, magazine). Self-sources do not
satisfy WP:GNG.
2. Remove {{notability}} once 2+ independent reliable sources exist.
3. Add [[Category:PlayStation 4 software]] and a short [[Category:Discord]]
style category only after the article is accepted.
4. Submit via AfC: add {{subst:submit}} at the top and save.
-->
+153
View File
@@ -0,0 +1,153 @@
#!/usr/bin/env python3
"""Create the Wikidata item for orbisRPC, then print the new QID.
Needs ONE thing: a Wikidata bot password. Generate it at
https://www.wikidata.org/wiki/Special:BotPasswords
(label it "orbisRPC-creator", grant the "Edit existing pages" + "Create,
edit, and move pages" rights). It prints a username like
"YourUser@orbisRPC-creator" and a random password.
Then run:
WD_BOT_USER='YourUser@orbisRPC-creator' WD_BOT_PASS='the-random-password' \
python3 docs/wikipedia/create_wikidata_item.py
Stdlib only. Idempotent: if an item labelled "orbisRPC" with the Discord
description already exists, it prints that QID and exits instead of duplicating.
"""
import json
import os
import sys
import urllib.parse
import urllib.request
import http.cookiejar
API = "https://www.wikidata.org/w/api.php"
UA = "orbisRPC-wikidata-creator/1.0 (https://github.com/SirHumza/orbisRPC)"
LABEL = "orbisRPC"
DESC = "Discord Rich Presence software for the PlayStation 4"
ALIASES = ["orbis rpc", "Orbis RPC", "orbisRPC PS4"]
REPO = "https://github.com/SirHumza/orbisRPC"
SITE = "https://sirhumza.github.io/orbisRPC/"
def item_claim(prop, qid):
numeric = int(qid.lstrip("Q"))
return {
"mainsnak": {
"snaktype": "value",
"property": prop,
"datavalue": {
"value": {"entity-type": "item", "numeric-id": numeric, "id": qid},
"type": "wikibase-entityid",
},
},
"type": "statement",
"rank": "normal",
}
def url_claim(prop, url):
return {
"mainsnak": {
"snaktype": "value",
"property": prop,
"datavalue": {"value": url, "type": "string"},
},
"type": "statement",
"rank": "normal",
}
def main():
user = os.environ.get("WD_BOT_USER")
password = os.environ.get("WD_BOT_PASS")
if not user or not password:
sys.exit(
"Set WD_BOT_USER and WD_BOT_PASS (see docstring). Nothing sent."
)
jar = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(jar))
opener.addheaders = [("User-Agent", UA)]
def call(params):
params = dict(params)
params["format"] = "json"
data = urllib.parse.urlencode(params).encode()
with opener.open(urllib.request.Request(API, data=data)) as resp:
return json.load(resp)
token = call({"action": "query", "meta": "tokens", "type": "login"})["query"][
"tokens"
]["logintoken"]
login = call(
{
"action": "login",
"lgname": user,
"lgpassword": password,
"lgtoken": token,
}
)
if login.get("login", {}).get("result") != "Success":
sys.exit("Login failed: %s" % json.dumps(login.get("login", login)))
csrf = call({"action": "query", "meta": "tokens", "type": "csrf"})["query"][
"tokens"
]["csrftoken"]
existing = call(
{
"action": "wbsearchentities",
"search": LABEL,
"language": "en",
"type": "item",
"limit": 5,
}
).get("search", [])
for hit in existing:
if hit.get("label", "").lower() == "orbisrpc":
print("Already exists: %s (%s)" % (hit["id"], hit.get("description", "")))
print("https://www.wikidata.org/wiki/%s" % hit["id"])
return
entity = {
"labels": {"en": {"language": "en", "value": LABEL}},
"descriptions": {"en": {"language": "en", "value": DESC}},
"aliases": {
"en": [{"language": "en", "value": a} for a in ALIASES]
},
"claims": {
"P31": [item_claim("P31", "Q506883")],
"P400": [item_claim("P400", "Q5014725")],
"P1324": [url_claim("P1324", REPO)],
"P856": [url_claim("P856", SITE)],
"P277": [item_claim("P277", "Q15777")],
},
}
result = call(
{
"action": "wbeditentity",
"new": "item",
"token": csrf,
"data": json.dumps(entity),
"summary": "Create orbisRPC (PS4 Discord Rich Presence); maintainer disclosure on user page",
}
)
if "error" in result:
sys.exit("Create failed: %s" % json.dumps(result["error"]))
qid = result["entity"]["id"]
print("Created %s" % qid)
print("https://www.wikidata.org/wiki/%s" % qid)
print()
print("Next: add %s to the sameAs array in site/index.html and"
" site/about-orbisrpc.html, then commit + push." % qid)
if __name__ == "__main__":
main()
+82
View File
@@ -0,0 +1,82 @@
# Wikidata item for orbisRPC — creation kit
**This is the move that actually works.** Wikidata has a far lower bar than
Wikipedia (no "significant coverage" requirement — a public repo is a serious,
publicly available reference, which is what Wikidata notability asks for). And
Wikidata is one of the strongest signals Google's Knowledge Graph and AI
answer engines use to keep entities with the same name apart. This directly
attacks the "orbisRPC vs Orbis Protocol / Orbis Corporation" merge problem.
Submit this yourself while logged in. Do **not** automate edits — Wikidata
reverts and blocks bots that add promotional items.
## Steps
1. Log in at https://www.wikidata.org (create an account if needed; new items
from a brand-new account attract scrutiny, so add a note on your user page:
"I maintain orbisRPC and am creating its item" — see Conflict of interest
disclosure below).
2. Open the item creator: https://www.wikidata.org/wiki/Special:NewItem
3. Fill in the label and description below, create the item, then add the
statements. Copy the QIDs exactly.
## Core fields
| Field | Value |
|---|---|
| Language | English (`en`) |
| Label | `orbisRPC` |
| Description | `Discord Rich Presence software for the PlayStation 4` |
| Also known as (aliases) | `orbis rpc`, `Orbis RPC`, `orbisRPC PS4` |
## Statements
Add each with "add statement", property first, then the value:
| Property | Value | Notes |
|---|---|---|
| instance of (P31) | `free and open-source software` (Q506883) | |
| platform (P400) | `PlayStation 4` (Q5014725) | |
| source code repository (P1324) | `https://github.com/SirHumza/orbisRPC` | |
| official website (P856) | `https://sirhumza.github.io/orbisRPC/` | |
| programmed in (P277) | `C` (Q15777) | |
| software license (P275) | **leave out** | license undecided (MIT vs GPL); add once picked |
Optional, only if you can source them (don't guess, Wikidata deletes
unsourced values):
- `published in` — no.
- `author` (P50) / `developer` (P178) — Wikidata expects an *item* as the value,
not a plain string, so this needs a person item for you and CyberMask367.
Skip unless those items exist.
## Identifier / reference
Under the item's "Identifiers" or as a reference on P1324/P856:
- `GitHub username` if you add one, or set the reference on the repository
statement to `https://github.com/SirHumza/orbisRPC` (retrieved date = today).
## Conflict of interest disclosure
Wikidata's COI guidance (not as strict as Wikipedia's) still asks you to be
transparent. Put this on your Wikidata user page:
```
I am the maintainer of orbisRPC (https://github.com/SirHumza/orbisRPC) and
created its item. Edits are limited to factual statements about that project.
```
## Do not
- Do not add "notable for" or award-like claims.
- Do not add comparisons to other products in the description (keep it neutral:
"Discord Rich Presence software for the PlayStation 4").
- Do not create a second item for a spelling variant — add it as an **alias**.
- Do not link the item from `sameAs` in your site schema until the item exists
and survives a week without a deletion tag.
## After it is live
1. Copy the item URL (e.g. `https://www.wikidata.org/wiki/Q123456789`).
2. Add it to the `sameAs` array in `site/index.html` (#software node) and to
`site/about-orbisrpc.html`.
3. Commit + push so Pages redeploys and the IndexNow step re-pings.