RU EN
Internal service of the RMRP project

RMRP API Google

A private HTTP service of the RMRP project (rmrp.ru) that lets the project's Google Sheets automation act in Discord: publish and edit service messages, grant and revoke roles, change nicknames and retrieve the member list. It is not a public Discord application users interact with — it is an internal API for the project's scripts.

🔒 Not publicly reachable

The service's single route is protected by an API key: a request without a valid x-api-key header receives 401 Unauthorized. By default the service listens only on 127.0.0.1:3000 and is not exposed to the internet.

🔗 Between Google and Discord

Requests are produced by the Google Apps Script of the project's spreadsheets. The service accepts them and performs actions strictly through the official Discord REST API, then returns the result to the caller.

🗄️ No database of its own

The service stores nothing: text, embeds and attachments are written into Discord, and the member list is returned to the script. There is no persistent store of profiles or history.

Purpose

The RMRP project's internal records live in Google Sheets. To avoid duplicating work by hand, a spreadsheet uses Apps Script to send a request to RMRP API Google, and the service performs the corresponding Discord action on behalf of the project's service bot: it sends a prepared message with embeds and attachments, edits a previously sent message, grants or revokes roles, changes a member's nickname, or returns the list of guild members so the spreadsheet can be reconciled with it.

How it works

  1. Google Sheets. A project staff member fills in an internal form or spreadsheet.
  2. Google Apps Script. The script builds a JSON request of the required type and sends it as POST /bots with the API key in the x-api-key header.
  3. RMRP API Google. Verifies the key and performs the action through the official Discord REST API.
  4. Response. The service returns the IDs of created objects or the outcome of the operation (for example which roles were granted and which failed).

Supported actions

Action typeWhat it does
send-message Sends a message to the given channel: text, embeds (title, description, colour, author, image, footer, timestamp, fields) and attachments.
edit-message Edits a previously sent message by its ID: updates text and embeds.
assign-roles Grants one or more roles to a member and reports which roles were granted and which were not.
remove-roles Removes one or more roles from a member with a per-role result report.
change-nickname Changes a member's nickname on the given server.
get-users Returns the guild member list: ID, username, nickname, role IDs and join date.

Images hosted on Google Drive are downloaded by the service and attached as Discord attachments, so pictures inside embeds render reliably.

Security and access

Discord permissions used

The service uses only the permissions required by the actions above:

Send Messages Embed Links Attach Files Manage Messages (editing own messages) Manage Roles Manage Nicknames

The Presence intent, voice features and direct message handling are not used.

What data is processed and why

DataPurposeWhere it lives
Text, embeds and attachments of service messages Publishing and updating messages prepared by project staff in Discord Written into Discord; not stored by the service
Discord IDs (guild, channel, message, user, role) Addressing the action: where to post, which role to grant, whose nickname to change Passed to Discord within the request; not stored
Guild member list when get-users is requested Reconciling the roster with the project's spreadsheet Returned to the calling Google Sheets script; not stored by the service
Technical service logs Diagnosing errors and monitoring availability On the project's server

The service does not process: direct messages, payment or biometric data, health data, location data, or data of servers unrelated to the RMRP project.

Retention

Legal documents

Contact

Official project Discord: discord.gg/6Az63EPEAA
Player support: forum.rmrp.ru — help
Project support e-mail: donate@rmrp.ru
Project website: rmrp.ru

For any data protection request please use the contacts above — requests are handled by the RMRP project team.

Discord is an independent platform; the service uses the official Discord API and is not affiliated with Discord Inc. The RMRP game project is an independent GTA 5 RP project, not affiliated with Rockstar Games / Take-Two Interactive.