"d":command{0,[]string{"n"},"delete your last message(s)"},
"s":command{1,[]string{"edited message"},"edit your last message"},
"silent":command{1,[]string{"message"},"send a message without sound"},
"schedule":command{2,[]string{"{online | 2006-01-02T15:04:05 | 15:04:05}","message"},"schedules a message either to timestamp or to whenever the user goes online"},
"forward":command{2,[]string{"message_id","target_chat"},"forwards a message"},
"vcard":command{0,[]string{},"print vCard as text"},
"add":command{1,[]string{"@username"},"add @username to your chat list"},
"join":command{1,[]string{"https://t.me/invite_link"},"join to chat via invite link or @publicname"},
"group":command{1,[]string{"title"},"create groupchat «title» with current user"},
"supergroup":command{1,[]string{"title","description"},"create new supergroup «title» with «description»"},
"channel":command{1,[]string{"title","description"},"create new channel «title» with «description»"},
"secret":command{0,[]string{},"create secretchat with current user"},
"search":command{0,[]string{"string","[limit]"},"search <string> in current chat"},
"history":command{0,[]string{"limit"},"get last [limit] messages from current chat"},
"block":command{0,[]string{},"blacklist current user"},
"unblock":command{0,[]string{},"unblacklist current user"},
"invite":command{1,[]string{"id or @username"},"add user to current chat"},
"link":command{0,[]string{},"get invite link for current chat"},
"kick":command{1,[]string{"id or @username"},"remove user to current chat"},
"mute":command{1,[]string{"id or @username","hours"},"mute user in current chat"},
"unmute":command{1,[]string{"id or @username"},"unrestrict user from current chat"},
"ban":command{1,[]string{"id or @username","hours"},"restrict @username from current chat for [hours] or forever"},
"unban":command{1,[]string{"id or @username"},"unbans @username in current chat (and devotes from admins)"},
"promote":command{1,[]string{"id or @username","title"},"promote user to admin in current chat"},
"leave":command{0,[]string{},"leave current chat"},
"leave!":command{0,[]string{},"leave current chat (for owners)"},
"ttl":command{0,[]string{"seconds"},"set secret chat messages TTL before self-destroying"},
"close":command{0,[]string{},"close current secret chat"},
"delete":command{0,[]string{},"delete current chat from chat list"},
"members":command{0,[]string{"query"},"search members [by optional query] in current chat (requires admin rights)"},
"help":command{0,[]string{},"help", nil},
"d":command{0,[]string{"n"},"delete your last message(s)", nil},
"s":command{1,[]string{"edited message"},"edit your last message", nil},
"silent":command{1,[]string{"message"},"send a message without sound", nil},
"schedule":command{2,[]string{"{online | 2006-01-02T15:04:05 | 15:04:05}","message"},"schedules a message either to timestamp or to whenever the user goes online", nil},
"forward":command{2,[]string{"message_id","target_chat"},"forwards a message", nil},
"vcard":command{0,[]string{},"print vCard as text", nil},
"add":command{1,[]string{"@username"},"add @username to your chat list", nil},
"join":command{1,[]string{"https://t.me/invite_link"},"join to chat via invite link or @publicname", nil},
"group":command{1,[]string{"title"},"create groupchat «title» with current user", ¬ForGroups},
"supergroup":command{1,[]string{"title","description"},"create new supergroup «title» with «description»", nil},
"channel":command{1,[]string{"title","description"},"create new channel «title» with «description»", nil},
"secret":command{0,[]string{},"create secretchat with current user", ¬ForGroups},
"search":command{0,[]string{"string","[limit]"},"search <string> in current chat", nil},
"history":command{0,[]string{"limit"},"get last [limit] messages from current chat", nil},
"block":command{0,[]string{},"blacklist current user", ¬ForGroups},
"unblock":command{0,[]string{},"unblacklist current user", ¬ForGroups},
"invite":command{1,[]string{"id or @username"},"add user to current chat", ¬ForPM},
"link":command{0,[]string{},"get invite link for current chat", ¬ForPM},
"kick":command{1,[]string{"id or @username"},"remove user from current chat",¬ForPM},
"mute":command{1,[]string{"id or @username","hours"},"mute user in current chat", ¬ForPM},
"unmute":command{1,[]string{"id or @username"},"unrestrict user from current chat", ¬ForPM},
"ban":command{1,[]string{"id or @username","hours"},"restrict @username from current chat for [hours] or forever", ¬ForPM},
"unban":command{1,[]string{"id or @username"},"unbans @username in current chat (and devotes from admins)", ¬ForPM},
"promote":command{1,[]string{"id or @username","title"},"promote user to admin in current chat", ¬ForPM},
"leave":command{0,[]string{},"leave current chat", ¬ForPM},
"leave!":command{0,[]string{},"leave current chat (for owners)", ¬ForPM},
"ttl":command{0,[]string{"seconds"},"set secret chat messages TTL before self-destroying", &onlyForSecret},
"close":command{0,[]string{},"close current secret chat", &onlyForSecret},
"delete":command{0,[]string{},"delete current chat from chat list", nil},
"members":command{0,[]string{"query"},"search members [by optional query] in current chat (requires admin rights)", nil},