Capaian API
Jana cap masa dan ubah tetapan aplikasi anda daripada atur cara anda sendiri. Setiap titik akhir sepadan dengan perintah aplikasi, dan permintaan mengikut tetapan akaun Discord yang mana kuncinya telah diciptakan.
Jana cap masa dan ubah tetapan aplikasi anda daripada atur cara anda sendiri. Setiap titik akhir sepadan dengan perintah aplikasi, dan permintaan mengikut tetapan akaun Discord yang mana kuncinya telah diciptakan.
Log masuk untuk mencipta kunci API. Kunci bertindak sebagai salah satu akaun Discord yang dipautkan pada profil anda.
Hantar kunci anda sebagai token pembawa dalam pengepala Authorization bagi setiap permintaan.
Permintaan ini mengembalikan cap masa bagi jam 18:30 hari ini dalam zon masa yang anda simpan. Kunci dalam contoh ini dibuat-buat, gunakan kunci anda sendiri:
curl https://api.hammertime.cyou/at \
-H "Authorization: Bearer 42|htk_qqXmIwpKxbAe3zYntwsLqK83wcKzbjD34M0yjsV9a698cb93" \
-H "Content-Type: application/json" \
-d '{"hour": 18, "minute": 30}'Suatu kunci mempunyai keizinan yang diberikan semasa ia dicipta, dan baki halaman ini merujuk keizinan tersebut menggunakan kod-kod ini.
Setiap kunci boleh panggil GET/me, tanpa mengira keizinannya, untuk mengetahui keizinan apa yang kunci tersebut ada.
| Keizinan | Membolehkan |
|---|---|
timestamps:create | Menjana cap masa menggunakan titik akhir cap masa dan alatan MCP, sebagai akaun Discord yang kunci tersebut bertindak. |
settings:read | Membaca tetapan aplikasi bagi akaun tersebut. |
settings:write | Mengubah tetapan aplikasi bagi akaun tersebut, hanya bagi medan yang dihantar. |
Permintaan mempunyai had perkadaran bagi setiap kunci. Pengepala RateLimit bagi setiap sambutan memberitahu anda di manakah kedudukan anda, dan sambutan 429 didatangkan dengan pengepala Retry-After.
Runs are counted like app commands, and the reply says which run it was, unless you turned telemetry off in your app settings.
Setiap titik akhir dengan medan yang diterima dan sambutan yang diberi. Maklumat ini dibaca dari spesifikasi OpenAPI milik pelayan API, jadi ia sentiasa sepadan dengan versi yang dijalankan.
URL asas
https://api.hammertime.cyouSetiap sambutan ralat mempunyai kandungan ini. Kod status memberitahu apakah jenis ralat, dan error.code memberitahu sebab tepatnya.
{"error": {object"code": "commands.at.responses.hourRange",stringMachine-readable reason. For rejected command input this is the bot's locale key, e.g. commands.at.responses.hourRange"message": "When a meridiem is not specified, hour must be a number between 0 and 23",stringEnglish explanation, the same text the Discord bot replies with"params": {},objectpilihanValues interpolated into the message"issues": [object[]pilihanFor invalid_request: what is wrong with which field{"path": "string",string"message": "string"string}]}}Bot commands as endpoints
Equivalent to the bot's /add command: the same options, and any option left out falls back to the account's saved settings.
Keizinantimestamps:create{"to": 0,numberThe UNIX timestamp in seconds"years": 1,integerpilihanmin 1How many years to add to the specified timestamp"months": 1,integerpilihanmin 1How many months to add to the specified timestamp"days": 1,integerpilihanmin 1How many days to add to the specified timestamp"hours": 1,integerpilihanmin 1How many hours to add to the specified timestamp"minutes": 1,integerpilihanmin 1How many minutes to add to the specified timestamp"seconds": 0.001,numberpilihanmin 0.001How many seconds to add to the specified timestamp"format": "d",stringpilihanReturns only the specified format in the response(d (short date), f (date and time), t (short time), D (long date), F (weekday, date and time), s (short date and short time), S (short date and long time), R (relative), T (long time), all (all (default)))"header": false,booleanpilihanDisplay the initial time (as interpreted by the bot) on top of the response"columns": "both",stringpilihanSpecify which columns to display in the returned response(both (both syntax and preview), preview (preview only), syntax (syntax only))"ephemeral": falsebooleanpilihanWhen true the response will only be visible to you}{"command": "at",string(add, ago, at, at12, in, iso, snowflake, subtract, unix)"unix": 1792773000,integerUNIX timestamp in seconds"timezone": "Europe/Budapest",string | nullThe timezone the input was interpreted in, null for commands that have none"header": "📅 2026-10-23 • 🕕 18:30:00 • 🌐 Europe/Budapest",string | nullThe exact time as interpreted, null when the header is turned off"content": "📅 2026-10-23 • 🕕 18:30:00 • 🌐 Europe/Budapest\n`<t:1792773000:d>` → **<t:1792773000:d>**\n`<t:1792773000:R>` → **<t:1792773000:R>**",stringThe reply the bot would send: the optional header and the syntax/preview rows"singleFormat": null,string | nullThe one format that was asked for (by option or setting), null when every format is listed"minimalReply": false,booleanTrue when only the preview of a single format is meant to be shown, which the formatMinimalReply setting asks for"usingAtHoursOnly": true,booleanpilihanOnly for at: the hour was given as a bare 24-hour value, which the at12 command or a meridiem makes unambiguous"formats": [object[]{"format": "d",stringDiscord timestamp style (d, D, t, T, f, F, s, S or R)"timestamp": "<t:1792773000:d>"stringMarkdown to paste into Discord, e.g. <t:1650802953:R>}],"telemetry": {objectpilihanPresent only when usage telemetry is enabled in the settings of the account the key acts as"executionNumber": 1234,integerHow many times the command has been run, across Discord and the API"command": "at",string"privacyPolicyUrl": "https://hammertime.cyou/en/legal#telemetry-statistics",string"note": "This is execution #1234 for the /at command (since we started counting). Thank you for contributing telemetry data, which helps the bot's future development."stringThe sentence the bot appends to its replies}}Equivalent to the bot's /ago command: the same options, and any option left out falls back to the account's saved settings.
Keizinantimestamps:create{"years": 1,integerpilihanmin 1How many years to subtract from the current time"months": 1,integerpilihanmin 1How many months to subtract from the current time"days": 1,integerpilihanmin 1How many days to subtract from the current time"hours": 1,integerpilihanmin 1How many hours to subtract from the current time"minutes": 1,integerpilihanmin 1How many minutes to subtract from the current time"seconds": 0.001,numberpilihanmin 0.001How many seconds to subtract from the current time"format": "d",stringpilihanReturns only the specified format in the response(d (short date), f (date and time), t (short time), D (long date), F (weekday, date and time), s (short date and short time), S (short date and long time), R (relative), T (long time), all (all (default)))"header": false,booleanpilihanDisplay the initial time (as interpreted by the bot) on top of the response"columns": "both",stringpilihanSpecify which columns to display in the returned response(both (both syntax and preview), preview (preview only), syntax (syntax only))"ephemeral": falsebooleanpilihanWhen true the response will only be visible to you}{"command": "at",string(add, ago, at, at12, in, iso, snowflake, subtract, unix)"unix": 1792773000,integerUNIX timestamp in seconds"timezone": "Europe/Budapest",string | nullThe timezone the input was interpreted in, null for commands that have none"header": "📅 2026-10-23 • 🕕 18:30:00 • 🌐 Europe/Budapest",string | nullThe exact time as interpreted, null when the header is turned off"content": "📅 2026-10-23 • 🕕 18:30:00 • 🌐 Europe/Budapest\n`<t:1792773000:d>` → **<t:1792773000:d>**\n`<t:1792773000:R>` → **<t:1792773000:R>**",stringThe reply the bot would send: the optional header and the syntax/preview rows"singleFormat": null,string | nullThe one format that was asked for (by option or setting), null when every format is listed"minimalReply": false,booleanTrue when only the preview of a single format is meant to be shown, which the formatMinimalReply setting asks for"usingAtHoursOnly": true,booleanpilihanOnly for at: the hour was given as a bare 24-hour value, which the at12 command or a meridiem makes unambiguous"formats": [object[]{"format": "d",stringDiscord timestamp style (d, D, t, T, f, F, s, S or R)"timestamp": "<t:1792773000:d>"stringMarkdown to paste into Discord, e.g. <t:1650802953:R>}],"telemetry": {objectpilihanPresent only when usage telemetry is enabled in the settings of the account the key acts as"executionNumber": 1234,integerHow many times the command has been run, across Discord and the API"command": "at",string"privacyPolicyUrl": "https://hammertime.cyou/en/legal#telemetry-statistics",string"note": "This is execution #1234 for the /at command (since we started counting). Thank you for contributing telemetry data, which helps the bot's future development."stringThe sentence the bot appends to its replies}}Equivalent to the bot's /at command: the same options, and any option left out falls back to the account's saved settings.
Keizinantimestamps:create{"year": 0,integerpilihanSpecify the year (defaults to current year)"month": 1,integerpilihanmin 1, max 12Specify the month (defaults to current month)"day": 1,integerpilihanmin 1, max 31Specify the day (defaults to current day)"hour": "string",string | numberpilihanSpecify the hour (defaults to current hour). A plain number is accepted and read as text."hour12": 1,integerpilihanmin 1, max 12Specify the hour using 12-hour clock (defaults to current hour)"am": false,booleanpilihanWhen True, hour must be between 1 to 12 and will be interpreted as AM (ante meridiem)"pm": false,booleanpilihanWhen True, hour must be between 1 to 12 and will be interpreted as PM (post meridiem)"minute": 0,integerpilihanmin 0, max 59Specify the minute (defaults to current minute)"second": 0,numberpilihanmin 0, max 59.999Specify the second (defaults to 0)"timezone": "string",stringpilihanmin length 3Specify the timezone (defaults to GMT)"format": "d",stringpilihanReturns only the specified format in the response(d (short date), f (date and time), t (short time), D (long date), F (weekday, date and time), s (short date and short time), S (short date and long time), R (relative), T (long time), all (all (default)))"header": false,booleanpilihanDisplay the initial time (as interpreted by the bot) on top of the response"columns": "both",stringpilihanSpecify which columns to display in the returned response(both (both syntax and preview), preview (preview only), syntax (syntax only))"ephemeral": falsebooleanpilihanWhen true the response will only be visible to you}{"command": "at",string(add, ago, at, at12, in, iso, snowflake, subtract, unix)"unix": 1792773000,integerUNIX timestamp in seconds"timezone": "Europe/Budapest",string | nullThe timezone the input was interpreted in, null for commands that have none"header": "📅 2026-10-23 • 🕕 18:30:00 • 🌐 Europe/Budapest",string | nullThe exact time as interpreted, null when the header is turned off"content": "📅 2026-10-23 • 🕕 18:30:00 • 🌐 Europe/Budapest\n`<t:1792773000:d>` → **<t:1792773000:d>**\n`<t:1792773000:R>` → **<t:1792773000:R>**",stringThe reply the bot would send: the optional header and the syntax/preview rows"singleFormat": null,string | nullThe one format that was asked for (by option or setting), null when every format is listed"minimalReply": false,booleanTrue when only the preview of a single format is meant to be shown, which the formatMinimalReply setting asks for"usingAtHoursOnly": true,booleanpilihanOnly for at: the hour was given as a bare 24-hour value, which the at12 command or a meridiem makes unambiguous"formats": [object[]{"format": "d",stringDiscord timestamp style (d, D, t, T, f, F, s, S or R)"timestamp": "<t:1792773000:d>"stringMarkdown to paste into Discord, e.g. <t:1650802953:R>}],"telemetry": {objectpilihanPresent only when usage telemetry is enabled in the settings of the account the key acts as"executionNumber": 1234,integerHow many times the command has been run, across Discord and the API"command": "at",string"privacyPolicyUrl": "https://hammertime.cyou/en/legal#telemetry-statistics",string"note": "This is execution #1234 for the /at command (since we started counting). Thank you for contributing telemetry data, which helps the bot's future development."stringThe sentence the bot appends to its replies}}Equivalent to the bot's /at12 command: the same options, and any option left out falls back to the account's saved settings.
Keizinantimestamps:create{"year": 0,integerpilihanSpecify the year (defaults to current year)"month": 1,integerpilihanmin 1, max 12Specify the month (defaults to current month)"day": 1,integerpilihanmin 1, max 31Specify the day (defaults to current day)"hour": 1,integerpilihanmin 1, max 12Specify the hour (defaults to current hour)"am": false,booleanpilihanWhen True, hour will be interpreted as am (ante meridiem, before noon)"pm": false,booleanpilihanWhen True, hour will be interpreted as pm (post meridiem, after noon)"minute": 0,integerpilihanmin 0, max 59Specify the minute (defaults to current minute)"second": 0,numberpilihanmin 0, max 59.999Specify the second (defaults to 0)"timezone": "string",stringpilihanmin length 3Specify the timezone (defaults to GMT)"format": "d",stringpilihanReturns only the specified format in the response(d (short date), f (date and time), t (short time), D (long date), F (weekday, date and time), s (short date and short time), S (short date and long time), R (relative), T (long time), all (all (default)))"header": false,booleanpilihanDisplay the initial time (as interpreted by the bot) on top of the response"columns": "both",stringpilihanSpecify which columns to display in the returned response(both (both syntax and preview), preview (preview only), syntax (syntax only))"ephemeral": falsebooleanpilihanWhen true the response will only be visible to you}{"command": "at",string(add, ago, at, at12, in, iso, snowflake, subtract, unix)"unix": 1792773000,integerUNIX timestamp in seconds"timezone": "Europe/Budapest",string | nullThe timezone the input was interpreted in, null for commands that have none"header": "📅 2026-10-23 • 🕕 18:30:00 • 🌐 Europe/Budapest",string | nullThe exact time as interpreted, null when the header is turned off"content": "📅 2026-10-23 • 🕕 18:30:00 • 🌐 Europe/Budapest\n`<t:1792773000:d>` → **<t:1792773000:d>**\n`<t:1792773000:R>` → **<t:1792773000:R>**",stringThe reply the bot would send: the optional header and the syntax/preview rows"singleFormat": null,string | nullThe one format that was asked for (by option or setting), null when every format is listed"minimalReply": false,booleanTrue when only the preview of a single format is meant to be shown, which the formatMinimalReply setting asks for"usingAtHoursOnly": true,booleanpilihanOnly for at: the hour was given as a bare 24-hour value, which the at12 command or a meridiem makes unambiguous"formats": [object[]{"format": "d",stringDiscord timestamp style (d, D, t, T, f, F, s, S or R)"timestamp": "<t:1792773000:d>"stringMarkdown to paste into Discord, e.g. <t:1650802953:R>}],"telemetry": {objectpilihanPresent only when usage telemetry is enabled in the settings of the account the key acts as"executionNumber": 1234,integerHow many times the command has been run, across Discord and the API"command": "at",string"privacyPolicyUrl": "https://hammertime.cyou/en/legal#telemetry-statistics",string"note": "This is execution #1234 for the /at command (since we started counting). Thank you for contributing telemetry data, which helps the bot's future development."stringThe sentence the bot appends to its replies}}Equivalent to the bot's /in command: the same options, and any option left out falls back to the account's saved settings.
Keizinantimestamps:create{"years": 1,integerpilihanmin 1How many years to add to the current time"months": 1,integerpilihanmin 1How many months to add to the current time"days": 1,integerpilihanmin 1How many days to add to the current time"hours": 1,integerpilihanmin 1How many hours to add to the current time"minutes": 1,integerpilihanmin 1How many minutes to add to the current time"seconds": 0.001,numberpilihanmin 0.001How many seconds to add to the current time"format": "d",stringpilihanReturns only the specified format in the response(d (short date), f (date and time), t (short time), D (long date), F (weekday, date and time), s (short date and short time), S (short date and long time), R (relative), T (long time), all (all (default)))"header": false,booleanpilihanDisplay the initial time (as interpreted by the bot) on top of the response"columns": "both",stringpilihanSpecify which columns to display in the returned response(both (both syntax and preview), preview (preview only), syntax (syntax only))"ephemeral": falsebooleanpilihanWhen true the response will only be visible to you}{"command": "at",string(add, ago, at, at12, in, iso, snowflake, subtract, unix)"unix": 1792773000,integerUNIX timestamp in seconds"timezone": "Europe/Budapest",string | nullThe timezone the input was interpreted in, null for commands that have none"header": "📅 2026-10-23 • 🕕 18:30:00 • 🌐 Europe/Budapest",string | nullThe exact time as interpreted, null when the header is turned off"content": "📅 2026-10-23 • 🕕 18:30:00 • 🌐 Europe/Budapest\n`<t:1792773000:d>` → **<t:1792773000:d>**\n`<t:1792773000:R>` → **<t:1792773000:R>**",stringThe reply the bot would send: the optional header and the syntax/preview rows"singleFormat": null,string | nullThe one format that was asked for (by option or setting), null when every format is listed"minimalReply": false,booleanTrue when only the preview of a single format is meant to be shown, which the formatMinimalReply setting asks for"usingAtHoursOnly": true,booleanpilihanOnly for at: the hour was given as a bare 24-hour value, which the at12 command or a meridiem makes unambiguous"formats": [object[]{"format": "d",stringDiscord timestamp style (d, D, t, T, f, F, s, S or R)"timestamp": "<t:1792773000:d>"stringMarkdown to paste into Discord, e.g. <t:1650802953:R>}],"telemetry": {objectpilihanPresent only when usage telemetry is enabled in the settings of the account the key acts as"executionNumber": 1234,integerHow many times the command has been run, across Discord and the API"command": "at",string"privacyPolicyUrl": "https://hammertime.cyou/en/legal#telemetry-statistics",string"note": "This is execution #1234 for the /at command (since we started counting). Thank you for contributing telemetry data, which helps the bot's future development."stringThe sentence the bot appends to its replies}}Equivalent to the bot's /iso command: the same options, and any option left out falls back to the account's saved settings.
Keizinantimestamps:create{"value": "string",stringmin length 10, max length 25The ISO 8601 standard timestamp"timezone": "string",stringpilihanmin length 3Specify the timezone (defaults to GMT)"format": "d",stringpilihanReturns only the specified format in the response(d (short date), f (date and time), t (short time), D (long date), F (weekday, date and time), s (short date and short time), S (short date and long time), R (relative), T (long time), all (all (default)))"header": false,booleanpilihanDisplay the initial time (as interpreted by the bot) on top of the response"columns": "both",stringpilihanSpecify which columns to display in the returned response(both (both syntax and preview), preview (preview only), syntax (syntax only))"ephemeral": falsebooleanpilihanWhen true the response will only be visible to you}{"command": "at",string(add, ago, at, at12, in, iso, snowflake, subtract, unix)"unix": 1792773000,integerUNIX timestamp in seconds"timezone": "Europe/Budapest",string | nullThe timezone the input was interpreted in, null for commands that have none"header": "📅 2026-10-23 • 🕕 18:30:00 • 🌐 Europe/Budapest",string | nullThe exact time as interpreted, null when the header is turned off"content": "📅 2026-10-23 • 🕕 18:30:00 • 🌐 Europe/Budapest\n`<t:1792773000:d>` → **<t:1792773000:d>**\n`<t:1792773000:R>` → **<t:1792773000:R>**",stringThe reply the bot would send: the optional header and the syntax/preview rows"singleFormat": null,string | nullThe one format that was asked for (by option or setting), null when every format is listed"minimalReply": false,booleanTrue when only the preview of a single format is meant to be shown, which the formatMinimalReply setting asks for"usingAtHoursOnly": true,booleanpilihanOnly for at: the hour was given as a bare 24-hour value, which the at12 command or a meridiem makes unambiguous"formats": [object[]{"format": "d",stringDiscord timestamp style (d, D, t, T, f, F, s, S or R)"timestamp": "<t:1792773000:d>"stringMarkdown to paste into Discord, e.g. <t:1650802953:R>}],"telemetry": {objectpilihanPresent only when usage telemetry is enabled in the settings of the account the key acts as"executionNumber": 1234,integerHow many times the command has been run, across Discord and the API"command": "at",string"privacyPolicyUrl": "https://hammertime.cyou/en/legal#telemetry-statistics",string"note": "This is execution #1234 for the /at command (since we started counting). Thank you for contributing telemetry data, which helps the bot's future development."stringThe sentence the bot appends to its replies}}Equivalent to the bot's /snowflake command: the same options, and any option left out falls back to the account's saved settings.
Keizinantimestamps:create{"value": "string",stringmin length 1The Snowflake number"format": "d",stringpilihanReturns only the specified format in the response(d (short date), f (date and time), t (short time), D (long date), F (weekday, date and time), s (short date and short time), S (short date and long time), R (relative), T (long time), all (all (default)))"header": false,booleanpilihanDisplay the initial time (as interpreted by the bot) on top of the response"columns": "both",stringpilihanSpecify which columns to display in the returned response(both (both syntax and preview), preview (preview only), syntax (syntax only))"ephemeral": falsebooleanpilihanWhen true the response will only be visible to you}{"command": "at",string(add, ago, at, at12, in, iso, snowflake, subtract, unix)"unix": 1792773000,integerUNIX timestamp in seconds"timezone": "Europe/Budapest",string | nullThe timezone the input was interpreted in, null for commands that have none"header": "📅 2026-10-23 • 🕕 18:30:00 • 🌐 Europe/Budapest",string | nullThe exact time as interpreted, null when the header is turned off"content": "📅 2026-10-23 • 🕕 18:30:00 • 🌐 Europe/Budapest\n`<t:1792773000:d>` → **<t:1792773000:d>**\n`<t:1792773000:R>` → **<t:1792773000:R>**",stringThe reply the bot would send: the optional header and the syntax/preview rows"singleFormat": null,string | nullThe one format that was asked for (by option or setting), null when every format is listed"minimalReply": false,booleanTrue when only the preview of a single format is meant to be shown, which the formatMinimalReply setting asks for"usingAtHoursOnly": true,booleanpilihanOnly for at: the hour was given as a bare 24-hour value, which the at12 command or a meridiem makes unambiguous"formats": [object[]{"format": "d",stringDiscord timestamp style (d, D, t, T, f, F, s, S or R)"timestamp": "<t:1792773000:d>"stringMarkdown to paste into Discord, e.g. <t:1650802953:R>}],"telemetry": {objectpilihanPresent only when usage telemetry is enabled in the settings of the account the key acts as"executionNumber": 1234,integerHow many times the command has been run, across Discord and the API"command": "at",string"privacyPolicyUrl": "https://hammertime.cyou/en/legal#telemetry-statistics",string"note": "This is execution #1234 for the /at command (since we started counting). Thank you for contributing telemetry data, which helps the bot's future development."stringThe sentence the bot appends to its replies}}Equivalent to the bot's /subtract command: the same options, and any option left out falls back to the account's saved settings.
Keizinantimestamps:create{"from": 0,numberThe UNIX timestamp in seconds"years": 1,integerpilihanmin 1How many years to subtract from the specified timestamp"months": 1,integerpilihanmin 1How many months to subtract from the specified timestamp"days": 1,integerpilihanmin 1How many days to subtract from the specified timestamp"hours": 1,integerpilihanmin 1How many hours to subtract from the specified timestamp"minutes": 1,integerpilihanmin 1How many minutes to subtract from the specified timestamp"seconds": 0.001,numberpilihanmin 0.001How many seconds to subtract from the specified timestamp"format": "d",stringpilihanReturns only the specified format in the response(d (short date), f (date and time), t (short time), D (long date), F (weekday, date and time), s (short date and short time), S (short date and long time), R (relative), T (long time), all (all (default)))"header": false,booleanpilihanDisplay the initial time (as interpreted by the bot) on top of the response"columns": "both",stringpilihanSpecify which columns to display in the returned response(both (both syntax and preview), preview (preview only), syntax (syntax only))"ephemeral": falsebooleanpilihanWhen true the response will only be visible to you}{"command": "at",string(add, ago, at, at12, in, iso, snowflake, subtract, unix)"unix": 1792773000,integerUNIX timestamp in seconds"timezone": "Europe/Budapest",string | nullThe timezone the input was interpreted in, null for commands that have none"header": "📅 2026-10-23 • 🕕 18:30:00 • 🌐 Europe/Budapest",string | nullThe exact time as interpreted, null when the header is turned off"content": "📅 2026-10-23 • 🕕 18:30:00 • 🌐 Europe/Budapest\n`<t:1792773000:d>` → **<t:1792773000:d>**\n`<t:1792773000:R>` → **<t:1792773000:R>**",stringThe reply the bot would send: the optional header and the syntax/preview rows"singleFormat": null,string | nullThe one format that was asked for (by option or setting), null when every format is listed"minimalReply": false,booleanTrue when only the preview of a single format is meant to be shown, which the formatMinimalReply setting asks for"usingAtHoursOnly": true,booleanpilihanOnly for at: the hour was given as a bare 24-hour value, which the at12 command or a meridiem makes unambiguous"formats": [object[]{"format": "d",stringDiscord timestamp style (d, D, t, T, f, F, s, S or R)"timestamp": "<t:1792773000:d>"stringMarkdown to paste into Discord, e.g. <t:1650802953:R>}],"telemetry": {objectpilihanPresent only when usage telemetry is enabled in the settings of the account the key acts as"executionNumber": 1234,integerHow many times the command has been run, across Discord and the API"command": "at",string"privacyPolicyUrl": "https://hammertime.cyou/en/legal#telemetry-statistics",string"note": "This is execution #1234 for the /at command (since we started counting). Thank you for contributing telemetry data, which helps the bot's future development."stringThe sentence the bot appends to its replies}}Equivalent to the bot's /unix command: the same options, and any option left out falls back to the account's saved settings.
Keizinantimestamps:create{"value": 0,integerThe UNIX timestamp in seconds"format": "d",stringpilihanReturns only the specified format in the response(d (short date), f (date and time), t (short time), D (long date), F (weekday, date and time), s (short date and short time), S (short date and long time), R (relative), T (long time), all (all (default)))"header": false,booleanpilihanDisplay the initial time (as interpreted by the bot) on top of the response"columns": "both",stringpilihanSpecify which columns to display in the returned response(both (both syntax and preview), preview (preview only), syntax (syntax only))"ephemeral": falsebooleanpilihanWhen true the response will only be visible to you}{"command": "at",string(add, ago, at, at12, in, iso, snowflake, subtract, unix)"unix": 1792773000,integerUNIX timestamp in seconds"timezone": "Europe/Budapest",string | nullThe timezone the input was interpreted in, null for commands that have none"header": "📅 2026-10-23 • 🕕 18:30:00 • 🌐 Europe/Budapest",string | nullThe exact time as interpreted, null when the header is turned off"content": "📅 2026-10-23 • 🕕 18:30:00 • 🌐 Europe/Budapest\n`<t:1792773000:d>` → **<t:1792773000:d>**\n`<t:1792773000:R>` → **<t:1792773000:R>**",stringThe reply the bot would send: the optional header and the syntax/preview rows"singleFormat": null,string | nullThe one format that was asked for (by option or setting), null when every format is listed"minimalReply": false,booleanTrue when only the preview of a single format is meant to be shown, which the formatMinimalReply setting asks for"usingAtHoursOnly": true,booleanpilihanOnly for at: the hour was given as a bare 24-hour value, which the at12 command or a meridiem makes unambiguous"formats": [object[]{"format": "d",stringDiscord timestamp style (d, D, t, T, f, F, s, S or R)"timestamp": "<t:1792773000:d>"stringMarkdown to paste into Discord, e.g. <t:1650802953:R>}],"telemetry": {objectpilihanPresent only when usage telemetry is enabled in the settings of the account the key acts as"executionNumber": 1234,integerHow many times the command has been run, across Discord and the API"command": "at",string"privacyPolicyUrl": "https://hammertime.cyou/en/legal#telemetry-statistics",string"note": "This is execution #1234 for the /at command (since we started counting). Thank you for contributing telemetry data, which helps the bot's future development."stringThe sentence the bot appends to its replies}}The bot settings of the account
The saved settings of the account the key acts as. These are the defaults the timestamp endpoints fall back to.
Keizinansettings:read{"ephemeral": true,boolean | nullWhether the bot replies are only visible to you (no effect on the API)"timezone": "Europe/Budapest",string | nullTimezone used when a command does not specify one"header": true,boolean | nullWhether replies start with the exact time as interpreted"boldPreview": true,boolean | nullWhether previews are bold when listing all formats"columns": null,string | nullWhich columns replies show(both, preview, syntax)"format": null,string | nullOnly return this format instead of all of them(d, D, t, T, f, F, s, S, R)"formatMinimalReply": true,boolean | nullWith a single format, reply with just the preview"telemetry": true,boolean | nullWhether anonymous command usage is recorded, and the run count shown in replies"defaultAtHour": null,integer | nullHour (0-23) used by the at command when none is given"defaultAt12Hour": null,integer | nullHour (1-12) used by the at12 and at commands when none is given"defaultAtMinute": null,integer | nullMinute used by the at commands when none is given"defaultAtSecond": 0integer | nullSecond used by the at commands when none is given}Changes the given settings only. A null value resets a setting to its default.
Keizinansettings:write{"ephemeral": false,boolean | nullpilihan"timezone": "string",string | nullpilihanmin length 1, max length 64"header": false,boolean | nullpilihan"boldPreview": false,boolean | nullpilihan"columns": "both",string | nullpilihan(both, preview, syntax)"format": "d",string | nullpilihan(d, D, t, T, f, F, s, S, R)"formatMinimalReply": false,boolean | nullpilihan"telemetry": false,boolean | nullpilihan"defaultAtHour": 0,integer | nullpilihanmin 0, max 23"defaultAt12Hour": 1,integer | nullpilihanmin 1, max 12"defaultAtMinute": 0,integer | nullpilihanmin 0, max 59"defaultAtSecond": 0integer | nullpilihanmin 0, max 59}{"ephemeral": true,boolean | nullWhether the bot replies are only visible to you (no effect on the API)"timezone": "Europe/Budapest",string | nullTimezone used when a command does not specify one"header": true,boolean | nullWhether replies start with the exact time as interpreted"boldPreview": true,boolean | nullWhether previews are bold when listing all formats"columns": null,string | nullWhich columns replies show(both, preview, syntax)"format": null,string | nullOnly return this format instead of all of them(d, D, t, T, f, F, s, S, R)"formatMinimalReply": true,boolean | nullWith a single format, reply with just the preview"telemetry": true,boolean | nullWhether anonymous command usage is recorded, and the run count shown in replies"defaultAtHour": null,integer | nullHour (0-23) used by the at command when none is given"defaultAt12Hour": null,integer | nullHour (1-12) used by the at12 and at commands when none is given"defaultAtMinute": null,integer | nullMinute used by the at commands when none is given"defaultAtSecond": 0integer | nullSecond used by the at commands when none is given}About the API key in use
Which account the key acts as and what it is allowed to do.
Sebarang kunci yang sah{"keyId": "42",string"kind": "user",string(user, service)"discordUserId": "140360880079503362",stringThe Discord account the key acts as"scopes": ["timestamps:create","settings:read","settings:write"]string[]}Service status
Whether the service is up.
Tiada kunci diperlukan{"status": "ok"string(ok)}Pelayan MCP menggunakan pengangkutan Streamable HTTP serta kunci yang sama. Ia menawarkan satu alatan bagi setiap perintah berserta tetapannya, dan hanya alatan yang dibenarkan oleh keizinan kunci anda.
URL pelayan
https://api.hammertime.cyou/mcpTambahkannya ke Claude Code dengan:
claude mcp add --transport http hammertime https://api.hammertime.cyou/mcp \
--header "Authorization: Bearer 42|htk_qqXmIwpKxbAe3zYntwsLqK83wcKzbjD34M0yjsV9a698cb93"Klien lain menggunakan tatarajah yang serupa, dengan URL dan pengepala Authorization:
{
"mcpServers": {
"hammertime": {
"type": "http",
"url": "https://api.hammertime.cyou/mcp",
"headers": {
"Authorization": "Bearer 42|htk_qqXmIwpKxbAe3zYntwsLqK83wcKzbjD34M0yjsV9a698cb93"
}
}
}
}