Search in Potato software for @BotFather, as shown in the image below:
Start a chat with BotFather and send /newbot command.
Send the bot a nick.
Send the bot an username to complete registration.
Authorizing your bot
Each bot is given a unique authentication token when it is created. The token looks something like 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11, but we'll use simply <token> in this document instead. You can learn about obtaining tokens and generating new ones in Create Bot.
All queries to the Potato Bot API must be served over HTTPS and need to be presented in this form: https://api.rct2008.com:8443/<bot_token>/METHOD_NAME.
Like this for example: https://api.rct2008.com:8443/123456909:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/getMe
We support GET and POST HTTP methods. We support four ways of passing parameters in Bot API requests:
URL query string
Application/json (except for uploading files)
Multipart/form-data (use to upload files)
The response contains a JSON object, which always has a Boolean field 'ok' and may have an optional String field 'description' with a human-readable description of the result. If 'ok' equals true, the request was successful and the result of the query can be found in the 'result' field. In case of an unsuccessful request, 'ok' equals false and the error is explained in the 'description'. An Integer 'error_code' field is also returned, but its contents are subject to change in the future. Some errors may also have an optional field 'parameters' of the type ResponseParameters, which can help to automatically handle the error.
All methods in the Bot API are case-sensitive.
All queries must be made using UTF-8.
Bots how to receive message
When a new message is sent to the bot, Potato bot server send the message to the bot user in two ways:
Active Mode: The Potato bot server uses https request where the method is using post and the content-type is application/json. It automatically visit the webhook address provided by the user with the message data.
Passive Mode: User regularly needs to request https://api.rct2008.com:8443/getUpdates to retrieve bot updates ( represents the bot user token value. With the chat you can search within Potato for BotCreator user to view and make changes). Upon success request, a json object containing the list of message updates will be returned. Details will be explained in later documents.
Making requests when getting updates
If you're using webhooks, you can perform a request to the Bot API while sending an answer to the webhook. Use either application/json or application/x-www-form-urlencoded or multipart/form-data response content type for passing parameters. Specify the method to be invoked in the method parameter of the request. It's not possible to know that such a request was successful or get its result.
Getting updates
Here are two mutually exclusive ways of receiving updates for your bot — the getUpdates method on one hand and Webhooks on the other. Incoming updates are stored on the server until the bot receives them either way, but they will not be kept longer than 24 hours.
Regardless of which option you choose, you will receive JSON-serialized Update objects as a result.
Update
This object represents an incoming update.
At most one of the optional parameters can be present in any given update.
Parameter
Type
Description
update_id
Integer
The update's unique identifier. Update identifiers start from a certain positive number and increase sequentially. This ID becomes especially handy if you're using Webhooks, since it allows you to ignore repeated updates or to restore the correct update sequence, should they get out of order. If there are no new updates for at least a week, then identifier of the next update will be chosen randomly instead of sequentially.
Use this method to specify a url and receive incoming updates via an outgoing webhook. Whenever there is an update for the bot, we will send an HTTPS POST request to the specified url, containing a JSON-serialized Update. In case of an unsuccessful request, we will give up after a reasonable amount of attempts. Returns True on success.
If you'd like to make sure that the Webhook request comes from Potato, we recommend using a secret path in the URL, e.g. https://www.example.com/<bot_token> Since nobody else knows your bot's token, you can be pretty sure it's us.
Request Parameter
Parameter
Required
Type
Description
url
Yes
String
HTTP url to send updates to
certificate
Optional
InputFile or String
A digital certificate that sends an existing file on the server through the file_id String. Or upload new files, using multipart/form-data
You will not be able to receive updates using getUpdates for as long as an outgoing webhook is set up.
To use a self-signed certificate, you need to upload your public key certificate using certificate parameter. Please upload as InputFile, sending a String will not work.
The bot's unique identifier. bot identifiers start from a certain positive number and increase sequentially.
first_name
The bot's first name
last_name
Always be null. Ignore this parameter for Potato bot user.
username
The bot's username
getFile
Request URL
https://api.rct2008.com:8443/<bot_token>/getFile
Request Method
POST
A brief description
Use this method to get basic info about a file and prepare it for downloading. For the moment, bots can download files of up to 100MB in size. On success, a File object is returned. The file can then be downloaded via the link https://api.rct2008.com:8443/<bot_token>/<file_path>.
The Bot API supports basic formatting for messages. You can use bold and italic text, as well as inline links and pre-formatted code in your bots' messages. Potato clients will render them accordingly. You can use either markdown-style.
Note that Potato clients will display an alert to the user before opening an inline link ('Open this link?' together with the full URL).
Use this method to send answers to callback queries sent from inline keyboards. The answer will be displayed to the user as a notification at the top of the chat screen or as an alert. On success, True is returned.
Request Parameter
Parameter
Required
Type
Description
inline_message_id
Yes
String
An unique identifier for the String query callback, uploaded by the user when sending a query callback request
text
Yes
String
Text of the notification. If not specified, nothing will be shown to the user, 0-200 characters
show_alert
Optional
Boolean
If true, an alert will be shown by the client instead of a notification at the top of the chat screen. Defaults to false
url
Optional
String
URL that will be opened by the user's client.
cache_time
Optional
Integer
Default 0,The maximum amount of time in seconds that the result of the callback query may be cached client-side
It is used to send image files to users. Currently, it supports sending image files below 2M and only supports JPEG/PNG/BMP/WEBP format. On success, the sent FileID and MessageID is returned.
Use this method to send general files. On success, the sent Message is returned. Bots can currently send files of any type of up to 50 MB in size, this limit may be changed in the future.
Use this method to send video files, Potato clients support MP4 videos (other formats may be sent as Document). On success, the sent Message is returned. Bots can currently send files of any type of up to 50 MB in size, this limit may be changed in the future.
Video to send . You can send an existing file on the server via the file_id String. Or upload new files, using multipart/form-data
duration
Optional
Integer
Duration of sent video in seconds
thumb
Optional
InputFile or String
Thumbnail of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be less than 3MB in size.
width
Optional
Integer
Video width
height
Optional
Integer
Video height
caption
Optional
String
Video caption (0-200 characters)
reply_to_message_id
Optional
Integer
If the message is a reply, ID of the original message
Use this method to send audio files, if you want Potato clients to display them in the music player. Your audio must be in the .mp3 format. On success, the sent Message is returned. Bots can currently send audio files of up to 50 MB in size, this limit may be changed in the future.
Audio file to send. You can send an existing file on the server via the file_id String. Or upload new files, using multipart/form-data
caption
Optional
Integer
Audio caption (0-200 characters)
duration
Optional
Integer
Duration of the audio in seconds
performer
Optional
String
Performer
title
Optional
Integer
Track name
thumb
Optional
InputFile or String
Thumbnail of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be less than 3MB in size.
reply_to_message_id
Optional
Integer
If the message is a reply, ID of the original message
Use this method to delete a message, including service messages, with the following limitations:
private chats bots can only delete the message sent by itself
group if bots is an administrator of the group, it can delete any message there. otherwise ,can only delete the message sent by itself. If all members are administrators, bot can only delete messages by itself
super group or channel if bots is an administrator of the group, it can delete any message there. otherwise, can only delete the message sent by itself.
Use this method to get up to date information about the chat (current name of the user for one-on-one conversations, current username of a user, group or channel, etc.). Returns a Chat object on success.
Use this method to get a list of administrators in a chat. On success, returns an Array of ChatMember objects that contains information about all chat administrators. If the chat is a group or a supergroup and no administrators were appointed, only the creator will be returned.
Use this method to change the title of a chat. Titles can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Returns True on success.
Note: In regular groups (non-supergroups), this method will only work if the 'All Members Are Admins' setting is off in the target group.
Use this method to change the description of a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Returns True on success.
Use this method to pin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel. Returns True on success.
Pass True, if it is not necessary to send a notification to all chat members about the new pinned message. Notifications are always disabled in channels.
Use this method to unpin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel. Returns True on success.
Use this method to kick a user from a group, a supergroup or a channel. In the case of supergroups and channels, the user will not be able to return to the group on their own using invite links, etc., unless unbanned first. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Returns True on success.
In regular groups (non-supergroups), this method will only work if the 'All Members Are Admins' setting is off in the target group. Otherwise members may only be removed by the group's creator or by the member that added them.
Use this method to kick a user from a group, a supergroup or a channel but will be able to join via link, etc. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Returns True on success.
use this method when you need to tell the user that something is happening on the bot's side. The status is set for 5 seconds or less (when a message arrives from your bot, Potato clients clear its typing status). Returns True on success.
Example: The StickerBot needs some time to process a request and upload the image. Instead of sending a text message along the lines of "Retrieving image, please wait…", the bot may use sendChatAction with action = upload_photo. The user will see a "sending photo" status for the bot.
We only recommend using this method when a response from the bot will take a noticeable amount of time to arrive.
Unique identifier for the target chat or username of the target channel
action
Yes
String
Type of action to broadcast.Choose one,depending on what the user is about to receive: typing for text messages, upload_photo for photos, record_video or upload_video for videos, record_audio or upload_audio for audio files.upload_document for general files, find_location for location data, record_video_note or upload_video_note for video notes. All actions "typing", "record_video", "upload_video", "record_audio", "upload_audio", "upload_photo", "upload_document", "geo_location", "choose_contact", "game_play", "record_round", upload_round", "cancel"
Use this method to get a list of banned users in a supergroup. On success, returns an array of banned User.The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
Request Parameter
Parameter
Required
Type
Description
chat_id
Yes
Integer
Unique identifier for the target chat
offset
Yes
Integer
sequential number of the first banned user to be returned
limit
Yes
Integer
limits the number of baned user to be retrieved. Values between 1-100 are accepted. Defaults to 100.
Request Example
{
"chat_id": 11241496
}
Return Parameter
Parameter
Type
Description
ok
Boolean
Whether the operation is successful or not
result
array
An Array of User objects and a user id indicate that who kicked the user
Use this method to manage blacklist from a supergroup. Bot can ban a user or unban a user.The user will not be able to return to the group on their own using invite links, etc. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Returns True on success.
Request Parameter
Parameter
Required
Type
Description
chat_id
Yes
Integer
Unique identifier for the target chat
user_id
Yes
Integer
Unique identifier for the target user
action
Yes
Integer
If action is 1 means ban a user, if action is 2 means unban a user
Request Example
{
"action": 1,
"chat_id": 11241496,
"user_id": 20241232
}
Return Parameter
Parameter
Type
Description
ok
Boolean
Whether the operation is successful or not
Return Example
{
"ok": true
}
lipBlock
Request URL
https://api.sydney.im:8443/<bot_token>/lipBlock
Request Method
POST
A brief description
Use this method to disable some user send messages from a supergroup. The user will not be able to send any messages to the group on their own using invite links. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Returns True on success.
Request Parameter
Parameter
Required
Type
Description
group_id
Yes
Integer
Unique identifier for the target super group
user_id
Yes
Integer
Unique identifier for the target user
Request Example
{
"group_id": 11241496,
"user_id": 20241232
}
Return Parameter
Parameter
Type
Description
ok
Boolean
Whether the operation is successful or not
Return Example
{
"ok": true
}
lipUnBlock
Request URL
https://api.sydney.im:8443/<bot_token>/lipUnBlock
Request Method
POST
A brief description
Use this method to enable some user send messages from a supergroup. If someone was lip blocked by group administrator can use this method to lift a ban. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Returns True on success.
Use this method to restrict a user in a supergroup. The bot must be an administrator in the supergroup for this to work and must have the appropriate admin rights. Pass True for all permissions to lift restrictions from a user. Returns True on success.
Use this method to promote or demote a user in a supergroup . The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Pass False for all boolean parameters to demote a user. Returns True on success.
Request Parameter
Parameter
Required
Type
Description
chat_id
Yes
Integer
Unique identifier for the target super group
user_id
Yes
Integer
Unique identifier for the target user
can_change_info
Optional
Boolean
Pass True, if the administrator can change chat title, photo and other settings
can_post_messages
Optional
Boolean
Pass True, if the administrator can create channel posts, channels only
can_edit_messages
Optional
Boolean
Pass True, if the administrator can edit messages of other users and can pin messages, channels only
can_delete_messages
Optional
Boolean
Pass True, if the administrator can delete messages of other users
can_invite_users
Optional
Boolean
Pass True, if the administrator can invite new users to the chat
can_restrict_members
Optional
Boolean
Pass True, if the administrator can restrict, ban or unban chat members
can_pin_messages
Optional
Boolean
Pass True, if the administrator can pin messages, supergroups only
can_change_info
Optional
Boolean
Pass True, if the administrator can add new administrators with a subset of their own privileges or demote administrators that he has promoted, directly or indirectly (promoted by administrators that were appointed by him)
Request Example
{
"chat_id":11241950,
"user_id":20241232,
"can_change_info":true,
"can_post_messages":true,
"can_edit_messages":true,
"can_delete_messages":true,
"can_invite_users":true,
"can_restrict_members":true,
"can_pin_messages":true,
"can_promote_members":true
}
Return Parameter
Parameter
Type
Description
ok
Boolean
Whether the operation is successful or not
Return Example
{
"ok": true
}
ChatPermissions
Field
Type
Required
Comments
can_send_messages
Boolean
Optional
True, if the user is allowed to send text messages, contacts, locations and venues.False, the user can not send any messages
can_send_media_messages
Boolean
Optional
True, if the user is allowed to send audios, documents, photos, videos, video notes and voice notes
can_send_other_messages
Boolean
Optional
True, if the user is allowed to send animations, games, stickers and use inline bots
can_add_web_page_previews
Boolean
Optional
True, if the user is allowed to add web page previews to their messages
A game message will also display high scores for the current chat. Use setGameScore to post high scores to the chat with the game, add the edit_message parameter to automatically update the message with the current scoreboard.
Use getGameHighScores to get data for in-game high score tables.
For examples of what can be done using this new stuff, check the @app.
Use this method to set the score of the specified user in a game. On success, if the message was sent by the bot, returns the edited Message, otherwise returns True. Returns an error, if the new score is not greater than the user's current score in the chat and force is False.
Use this method to get data for high score tables. Will return the score of the specified user and several of his neighbors in a game. On success, returns an Array of GameHighScore objects.
The following methods and objects allow your bot to work in inline mode.
Please see our Introduction to Inline bots for more details.
To enable this option, send the /setinline command to @BotFather and provide the placeholder text that the user will see in the input field after typing your bot's name.
InlineQuery
A brief description
This object represents an incoming inline query. When the user sends an empty query, your bot could return some default or trending results.
A JSON-serialized array of results for the inline query
is_personal
Boolean
Optional
Pass True, if results may be cached on the server side only for the user that sent the query. By default, results may be returned to any user who sends the same query
next_offset
String
Optional
Pass the offset that a client should send in the next query with the same text to receive more results. Pass an empty String if there are no more results or if you don't support pagination. Offset length can't exceed 64 bytes.
switch_pm_text
String
Optional
If passed, clients will display a button with specified text that switches the user to a private chat with the bot and sends the bot a start message with the parameter switch_pm_parameter
switch_pm_parameter
String
Optional
parameter for the /start message sent to the bot when user presses the switch button. 1-64 characters, only A-Z, a-z, 0-9, _ and - are allowed.
InlineQueryResult
A brief description
This object represents one result of an inline query. Potato clients currently support results of the following 5 types:
Represents a link to an animated GIF file. By default, this animated GIF file will be sent by the user with optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the animation.
Field
Type
Required
Description
type
String
Yes
Type of the result, must be gif
id
String
Yes
Unique identifier for this result, 1-64 bytes
gif_url
String
Yes
A valid URL for the GIF file. File size must not exceed 1MB
gif_width
Integer
Optional
Width of the GIF
gif_height
Integer
Optional
Height of the GIF
gif_duration
Integer
Optional
Duration of the GIF
thumb_url
String
Yes
URL of the static thumbnail for the result (jpeg or gif)
title
String
Optional
Title for the result
caption
String
Optional
Caption of the GIF file to be sent, 0-1024 characters
Inline keyboard](#inlinekeyboardmarkup) attached to the message
InlineQueryResultPhoto
A brief description
Represents a link to a photo. By default, this photo will be sent by the user with optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the photo.
Field
Type
Required
Description
type
String
Yes
Type of the result, must be photo
id
String
Yes
Unique identifier for this result, 1-64 bytes
photo_url
String
Yes
A valid URL of the photo. Photo must be in jpeg format. Photo size must not exceed 5MB
thumb_url
String
Yes
URL of the thumbnail for the photo
photo_width
Integer
Optional
Width of the photo
photo_height
Integer
Optional
Height of the photo
title
String
Optional
Title for the result
description
String
Optional
Short description of the result
caption
String
Optional
Caption of the photo to be sent, 0-1024 characters
Represents a link to a page containing an embedded video player or a video file. By default, this video file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the video.
If an InlineQueryResultVideo message contains an embedded video (e.g., YouTube), you must replace its content using input_message_content.
Field
Type
Required
Description
type
String
Yes
Type of the result, must be video
id
String
Yes
Unique identifier for this result, 1-64 bytes
video_url
String
Yes
A valid URL for the embedded video player or video file and size must not exceed 50MB
mime_type
String
Yes
Mime type of the content of video url, "text/html" or "video/mp4".If "text/html" type, you must input input_message_content
thumb_url
String
Yes
URL of the thumbnail for the video
title
String
Yes
Title for the result
caption
String
Optional
Caption of the photo to be sent, 0-1024 characters
Represents the content of a text message to be sent as the result of an inline query.
Field
Type
Required
Description
message_text
String
Yes
Text of the message to be sent, 1-4096 characters
InlineQueryResultCachedPhoto
A brief description
Represents a link to a photo stored on the Potato servers. By default, this photo will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the photo.
Field
Type
Required
Description
type
String
Yes
Type of the result, must be photo
id
String
Yes
Unique identifier for this result, 1-64 bytes
photo_file_id
String
Yes
A valid file identifier of the photo
title
String
Optional
Title for the result
description
String
Optional
Optional. Short description of the result
caption
String
Optional
Caption of the photo to be sent, 0-1024 characters
parse_mode
String
Optional
Send Markdown, if you want Potato apps to show bold, italic, fixed-width text or inline URLs in the media caption.
Entity use to define rich text objects chat content
user_id
Optional
Integer
Required when type 7 (EntityMentionName) indicates the target user ID of @
offset
Yes
Integer
the starting offset position of the link, in bytes, of which Chinese characters and English letters count one byte, emoj count two bytes
length
Yes
Integer
the length of the link, in bytes
url
Optional
String
Type 5 (EntityTextUrl) Mandatory, indicating the URL of the link
ReplyMarkup
There are 4 types of ReplyMarkup: ForceReplyType, ReplyKeyboardMarkupType, ReplyKeyboardRemoveType and InlineKeyboardMarkup. Each have different functions (please refer to the ReplyMarkup Types tables below)
ForceReply
Used to depict the reply interface, achieving the same effect of selecting the chat bot and then selecting "Reply".
This value needs to be 1(ForceReplyType). Upon receiving a message with this object, Potato clients will display a reply interface to the user (act as if the user has selected the bot's message and tapped ’Reply')
selective
Boolean
Optional
"False" by default, indicates that it can only be seen by specific users: 1. Users mentioned in the message. 2. If the previous message is a reply, only the original sender can view the message.
ReplyKeyboardMarkup
Used to depict replying to (with reply options) custom keyboard.
"False" by default, hide custom keyboard after use
selective
Boolean
Optional
"False" by default, indicates that it can only be seen by specific users: 1. Users mentioned in the message. 2. If the previous message is a reply, only the original sender can view the message.
ReplyKeyboardRemove
Used to depict the deletion/clearing of custom keyboard. When a message with an object is received, the Potato client will delete the previous custom keyboard and display the default keyboard, until the chatbot sends a new keyboard.
This value needs to be set as 4(InlineKeyboardMarkupType), used to depict the inline keyboard displayed in the chat message
selective
Boolean
Optional
False by default, indicates that it can only be seen by specific users: 1. Users mentioned in the message. 2. If the previous message is a reply, only the original sender can view the message.
InlineKeyboardMarkup
Used to depict the inline keyboard displayed in the chat message.
User Description Inline keyboard, that is, a custom keyboard in the chat content, optional fields can only be filled in, otherwise only the first one will take effect.
Field
Type
Required
Comments
text
String
Yes
label text displayed on the button
url
String
Optional
Default null, HTTP url
callback_data
String
Optional
default null, callback send data
switch_inline_query
String
Optional
Default null, toggles inline query data. Ask the user to select a dialog, then @ robot and send this data
switch_inline_query_current_chat
String
Optional
default null, toggles the inline query data. In the current dialog @ robot and send this data
The member's status in the chat. Can be "creator", "administrator", "member", "restricted", "left" or "kicked"
until_date
Integer
Optional
Restricted and kicked only. Date when restrictions will be lifted for this user, unix time
can_be_edited
Boolean
Optional
Administrators only. True, if the bot is allowed to edit administrator privileges of that user
can_change_info
Boolean
Optional
Administrators only. True, if the administrator can change the chat title, photo and other settings
can_post_messages
Boolean
Optional
Administrators only. True, if the administrator can post in the channel, channels only
can_edit_messages
Boolean
Optional
Administrators only. True, if the administrator can edit messages of other users and can pin messages, channels only
can_delete_messages
Boolean
Optional
Administrators only. True, if the administrator can delete messages of other users
can_invite_users
Boolean
Yes
Administrators only. True, if the administrator can invite new users to the chat
can_restrict_members
Boolean
Optional
Administrators only. True, if the administrator can restrict, ban or unban chat members
can_pin_messages
Boolean
Optional
Administrators only. True, if the administrator can pin messages, supergroups only
can_promote_members
Boolean
Optional
Administrators only. True, if the administrator can add new administrators with a subset of his own privileges or demote administrators that he has promoted, directly or indirectly (promoted by administrators that were appointed by the user)
can_send_messages
Boolean
Optional
Restricted only. True, if the user can send text messages, contacts, locations and venues
can_send_media_messages
Boolean
Optional
Restricted only. True, if the user can send audios, documents, photos, videos, video notes and voice notes, implies can_send_messages
can_send_other_messages
Boolean
Optional
Restricted only. True, if the user can send animations, stickers and use inline bots, implies can_send_media_messages
can_add_web_page_previews
Boolean
Optional
Restricted only. True, if user may add web page previews to his messages, implies can_send_media_messages
ChatPermissions
Describes actions that a non-administrator user is allowed to take in a chat.
Field
Type
Required
Comments
can_send_messages
Boolean
Optional
True, if the user is allowed to send text messages, contacts, locations and venues
can_send_media_messages
Boolean
Optional
True, if the user is allowed to send audios, documents, photos, videos, video notes and voice notes, implies can_send_messages
can_send_other_messages
Boolean
Optional
True, if the user is allowed to send animations, stickers and use inline bots, implies can_send_media_messages
can_add_web_page_previews
Boolean
Optional
True, if the user is allowed to add web page previews to their messages, implies can_send_media_messages
can_change_info
Boolean
Optional
True, if the user is allowed to change the chat title, photo and other settings. Ignored in public supergroups
can_invite_users
Boolean
Optional
True, if the user is allowed to invite new users to the chat
can_pin_messages
Boolean
Optional
True, if the user is allowed to pin messages. Ignored in public supergroups
Rich Text Support
Introduction to formatting
Using similar MarkDown languages, you can easily generate entities object list according to the Potato message
Italics
Enter the text to be defined with italics between 1 asterisk "*" or underscore "_":
*this is italics*_this is italics_
Bold
Enter the text to be defined with bold between 2 asterisks "*" or underscores "_":
**This is bold font**__This is also bold font__
Italics and Bold
Enter the text to be defined with bold and italics between 3 asterisks "*" or underscores "_":
***italics and bold***___italics and bold___
Code Marking
In order to mark a small line of code, you can highlight the code between back quotation marks, for example:
`printf("Hello World!");`
Text Link
Enter text links to be defined between the <> brackets:
<https://www.google.com/>
Email Link
Enter email address to be defined between the <> brackets:
<username@mail.com>
Hyper Link
Insert website URL in brackets behind the square brackets:
[https://www.google.com/](https://www.google.com/)[Tap here to open Google website](https://www.google.com/)
Chatbot Commands
Insert String "cmd" in brackets behind the square brackets:
[/new_bot](cmd)
Mentions
Insert String "@" in brackets behind the square brackets:
[@username](@)
Mentioned Users
Insert String "mention_name" in brackets behind the square brackets, then insert user_id or @user_id behind:
[@username](@ 100500)
Error Code
Code
Type
1001
internal server error
1002
invalid token
1003
unknown command
1004
wrong parameters
1005
wrong format data
1006
no permission
1007
frequency of apis sent exceeded limit
1008
cannot send message to target user
1009
uploaded file size too large
1010
illegal characters in message
1011
entities" exceeds length limit
1012
reply markup" exceeds length limit
1013
file not exists
1014
request body too long
1015
robots are not in groups
1016
the group does not exist
1017
not support the chat type
3002
have been in black list
3003
does not found user info
3004
permission Denied
3005
the group does not exist or already upgrade to a super group