sm-plugins/SteamCore/scripting/include/steamcore.inc
2017-02-26 00:25:51 +01:00

89 lines
2.9 KiB
SourcePawn

#if defined _steamcore_included
#endinput
#endif
#define _steamcore_included
/*
Error Codes:
0x00: No error, request successful.
0x01: Plugin is busy with another task at this time.
0x02: Connection timed out.
0x03: Login Error: Invalid login information, it means there are errors in the Cvar Strings.
0x04: Login Error: Failed http RSA Key request.
0x05: Login Error: RSA Key response failed, unknown reason, probably server side.
0x06: Login Error: Failed htpps login request.
0x07: Login Error: Incorrect login data, required captcha or e-mail confirmation (Steam Guard).
0x08: Login Error: Failed http token request.
0x09: Login Error: Invalid session token. Incorrect cookie?.
0x10: Announcement Error: Failed http group announcement request.
0x11: Announcement Error: Invalid steam login token.
0x12: Announcement Error: Form error on request.
// Invitee: Who receives the invite.
0x20: Invite Error: Failed http group invite request.
0x21: Invite Error: Incorrect invitee or another error.
0x22: Invite Error: Incorrect Group ID or missing data.
0x23: Invite Error: Logged out. Retry to login.
0x24: Invite Error: Inviter account is not a member of the group or does not have permissions to invite.
0x25: Invite Error: Limited account. Only full Steam accounts can send Steam group invites
0x26: Invite Error: Unknown error.
0x27: Invite Error: Invitee has already received an invite or is already on the group.
*/
/**
* Callback function called at the end of a request
*
* @param client Calling client.
* @param success Result of the request.
* @param errorCode Result error code if error, otherwise 0.
* @param data Extra data if any, otherwise 0
*
* @noreturn
*/
functag SteamCoreCallback public(client, bool:success, errorCode, any:data);
/**
* Returns wheter the plugin is currently busy with a request.
*
* @return True is plugin is busy, false otherwise.
*/
native bool:IsSteamCoreBusy();
/**
* Posts an announcement on a desired Steam group.
*
* @param client Debug purposes, calling client, use 0 if no client.
* @param title Title of the announce.
* @param body Body of the announce.
* @param group GroupID.
* @param func Callback function to be called at the end of the request.
*
* @noreturn
*/
native SteamGroupAnnouncement(client, const String:title[], const String:body[], const String:group[], SteamCoreCallback:func);
/**
* Sends a Steam group invitation to an account.
*
* @param client Debug purposes, calling client, use 0 if no client.
* @param invitee SteamID64 of the account to invite.
* @param group GroupID.
* @param func Callback function to be called at the end of the request.
*
* @noreturn
*/
native SteamGroupInvite(client, const String:invitee[], const String:group[], SteamCoreCallback:func);
public SharedPlugin:__pl_steamcore =
{
name = "steamcore",
file = "steamcore.smx",
#if defined REQUIRE_PLUGIN
required = 1,
#else
required = 0,
#endif
};