This post is to provide notice of and seek feedback for an important proposed update to the Script Rules for HTML site.
The proposed version is below, and intended to replace section (1) of the current Script Rules for HTML Site. Please note that at time of writing, it is not yet in effect.
We have two goals with this change:
First, we want to make it clearer that bots aren't permitted to interact with the HTML site to send telegrams in any way. This isn't a rule change, but the language became murky with the last rewrite, and we want to fix it. The history: originally, the Script Rules said: "To send telegrams via a script, you must use the Telegrams API. Tools & scripts must not interact with the HTML telegrams page (i.e. '/page=telegrams') in any way." But on Jan 1, 2019, this became the less straightforward: "There are some things scripts can only do legally via the API, such as sending telegrams and answering issues." We have always intended to keep bots off the HTML site when sending telegrams -- we offer an API for that instead -- and want this to be as clear as possible.
Second, we want to make it explicit that bots that generate special URLs containing embedded information to pre-fill form fields are indeed considered to be interacting with the HTML site as described above. That is, we want it to be clear that a bot cannot legally craft URLs that, when clicked by a human, will take them to the HTML telegrams interface and automatically fill out fields like "To:" and the message content. There are several of these bots around, and we understand they've been perceived as legal because they don't do anything automatically -- a human has to click the link for anything to happen. We want to explicitly address this in the rules, and make it clear that it's not permissible on the HTML site -- again, you can do it via the API -- when sending telegrams or answering issues.
We also hope the language is generally clear and straightforward.
Please share any thoughts!
--v
Proposal:
1. Only Perform Acceptable Actions
It is acceptable to use a tool that merely modifies how pages look. For example, a script may legally add particular buttons when viewing other people's nation pages. Similarly, any kind of information-gathering script is acceptable, subject to the Rate Limits described below.
A tool may never perform a "prohibited action" via the HTML site. Prohibited actions should instead be performed via the NationStates API. A tool is performing a prohibited action if it interacts with the HTML site in any way during the execution of the action, including pre-filling form fields and auto-generating HTML links containing embedded information. For example, it is illegal for a tool to generate links that, when clicked, take a user straight to their Telegrams page with recipient names and message content auto-filled-in. Prohibited actions are:A tool may not independently perform a "restricted action" via the HTML site. We consider a tool to be working "independently" if it executes a restricted action in any way other than by immediately responding to a user's mouse click (or similar input) at the ratio of one click to one action. For example, a tool that sends ban requests to the server at five-second intervals, regardless of user input, is illegally executing restricted actions independently. However, a tool that makes ban buttons appear on pages where they aren't normally present is legal, as this requires a user's click to change anything. Likewise, a tool that generates custom buttons to move to a particular region is legal, as user action is required to complete the process, and thus the tool isn't independent. Restricted actions are:
- sending a telegram
- answering / dismissing an issue
A tool may independently perform non-prohibited, non-restricted actions, which are actions not listed above, subject to the ratelimits and restrictions below. These are actions that don't affect any nation other than your own, such as changing your nation's custom fields.
- creating a nation
- posting a message
- moving regions
- endorsing / unendorsing a nation
- banning / ejecting a nation from a region
- anything that generates a Happenings event line in a region, the World Assembly, or a nation other than your own
- anything that sends a request to the forums (https://forum.nationstates.net) as a logged-in user, or a forum login request
- anything that affects a Trading Card, including placing a bid or ask, junking a card, and opening a pack