diff --git a/examples/asynchronous_telebot/set_command_example.py b/examples/asynchronous_telebot/set_command_example.py new file mode 100644 index 0000000..2de53f4 --- /dev/null +++ b/examples/asynchronous_telebot/set_command_example.py @@ -0,0 +1,35 @@ +#!/usr/bin/python + +# This is a set_my_commands example. +# Press on [/] button in telegram client. +# Important, to update the command menu, be sure to exit the chat with the bot and log in again +# Important, command for chat_id and for group have a higher priority than for all + +import asyncio +import telebot +from telebot.async_telebot import AsyncTeleBot + + +API_TOKEN = '' +bot = AsyncTeleBot(API_TOKEN) + + +async def main(): + # use in for delete with the necessary scope and language_code if necessary + await bot.delete_my_commands(scope=None, language_code=None) + + await bot.set_my_commands( + commands=[ + telebot.types.BotCommand("command1", "command1 description"), + telebot.types.BotCommand("command2", "command2 description") + ], + # scope=telebot.types.BotCommandScopeChat(12345678) # use for personal command menu for users + # scope=telebot.types.BotCommandScopeAllPrivateChats() # use for all private chats + ) + + cmd = await bot.get_my_commands(scope=None, language_code=None) + print([c.to_json() for c in cmd]) + + +if __name__ == '__main__': + asyncio.run(main()) diff --git a/examples/asynchronous_telebot/timer_bot_async.py b/examples/asynchronous_telebot/timer_bot_async.py index 1d1da65..c263dcb 100644 --- a/examples/asynchronous_telebot/timer_bot_async.py +++ b/examples/asynchronous_telebot/timer_bot_async.py @@ -5,7 +5,7 @@ # https://schedule.readthedocs.io import asyncio -import os, aioschedule +import aioschedule from telebot.async_telebot import AsyncTeleBot API_TOKEN = '' diff --git a/examples/set_command_example.py b/examples/set_command_example.py new file mode 100644 index 0000000..1573e91 --- /dev/null +++ b/examples/set_command_example.py @@ -0,0 +1,28 @@ +#!/usr/bin/python + +# This is a set_my_commands example. +# Press on [/] button in telegram client. +# Important, to update the command menu, be sure to exit the chat with the bot and enter to chat again +# Important, command for chat_id and for group have a higher priority than for all + +import telebot + + +API_TOKEN = '' +bot = telebot.TeleBot(API_TOKEN) + +# use in for delete with the necessary scope and language_code if necessary +bot.delete_my_commands(scope=None, language_code=None) + +bot.set_my_commands( + commands=[ + telebot.types.BotCommand("command1", "command1 description"), + telebot.types.BotCommand("command2", "command2 description") + ], + # scope=telebot.types.BotCommandScopeChat(12345678) # use for personal command for users + # scope=telebot.types.BotCommandScopeAllPrivateChats() # use for all private chats +) + +# check command +cmd = bot.get_my_commands(scope=None, language_code=None) +print([c.to_json() for c in cmd]) diff --git a/examples/timer_bot.py b/examples/timer_bot.py index 85f6697..d82e2d0 100644 --- a/examples/timer_bot.py +++ b/examples/timer_bot.py @@ -3,7 +3,7 @@ # This is a simple bot with schedule timer # https://schedule.readthedocs.io -import os, time, threading, schedule +import time, threading, schedule from telebot import TeleBot API_TOKEN = '' diff --git a/telebot/__init__.py b/telebot/__init__.py index 5fed5c1..549ac06 100644 --- a/telebot/__init__.py +++ b/telebot/__init__.py @@ -1899,8 +1899,8 @@ class TeleBot: """ return apihelper.delete_chat_photo(self.token, chat_id) - def get_my_commands(self, scope: Optional[types.BotCommandScope], - language_code: Optional[str]) -> List[types.BotCommand]: + def get_my_commands(self, scope: Optional[types.BotCommandScope]=None, + language_code: Optional[str]=None) -> List[types.BotCommand]: """ Use this method to get the current list of the bot's commands. Returns List of BotCommand on success. @@ -3415,4 +3415,4 @@ class TeleBot: - \ No newline at end of file + diff --git a/telebot/async_telebot.py b/telebot/async_telebot.py index 6bfa799..689ba9f 100644 --- a/telebot/async_telebot.py +++ b/telebot/async_telebot.py @@ -2443,8 +2443,8 @@ class AsyncTeleBot: """ return await asyncio_helper.delete_chat_photo(self.token, chat_id) - async def get_my_commands(self, scope: Optional[types.BotCommandScope], - language_code: Optional[str]) -> List[types.BotCommand]: + async def get_my_commands(self, scope: Optional[types.BotCommandScope]=None, + language_code: Optional[str]=None) -> List[types.BotCommand]: """ Use this method to get the current list of the bot's commands. Returns List of BotCommand on success.