diff --git a/telebot/__init__.py b/telebot/__init__.py index c385a29..549a69d 100644 --- a/telebot/__init__.py +++ b/telebot/__init__.py @@ -3443,6 +3443,24 @@ class TeleBot: """ result = apihelper.get_my_commands(self.token, scope, language_code) return [types.BotCommand.de_json(cmd) for cmd in result] + + def set_my_name(self, name: Optional[str]=None, language_code: Optional[str]=None): + """ + Use this method to change the bot's name. Returns True on success. + + Telegram documentation: https://core.telegram.org/bots/api#setmyname + + :param name: Optional. New bot name; 0-64 characters. Pass an empty string to remove the dedicated name for the given language. + :type name: :obj:`str` + + :param language_code: Optional. A two-letter ISO 639-1 language code. If empty, the name will be shown to all users for whose + language there is no dedicated name. + :type language_code: :obj:`str` + + :return: True on success. + """ + + return apihelper.set_my_name(self.token, name, language_code) def set_my_description(self, description: Optional[str]=None, language_code: Optional[str]=None): """ @@ -3450,6 +3468,8 @@ class TeleBot: the chat with the bot if the chat is empty. Returns True on success. + Telegram documentation: https://core.telegram.org/bots/api#setmydescription + :param description: New bot description; 0-512 characters. Pass an empty string to remove the dedicated description for the given language. :type description: :obj:`str` @@ -3467,6 +3487,8 @@ class TeleBot: Use this method to get the current bot description for the given user language. Returns BotDescription on success. + Telegram documentation: https://core.telegram.org/bots/api#getmydescription + :param language_code: A two-letter ISO 639-1 language code or an empty string :type language_code: :obj:`str` @@ -3481,6 +3503,8 @@ class TeleBot: is sent together with the link when users share the bot. Returns True on success. + Telegram documentation: https://core.telegram.org/bots/api#setmyshortdescription + :param short_description: New short description for the bot; 0-120 characters. Pass an empty string to remove the dedicated short description for the given language. :type short_description: :obj:`str` @@ -3498,6 +3522,8 @@ class TeleBot: Use this method to get the current bot short description for the given user language. Returns BotShortDescription on success. + Telegram documentation: https://core.telegram.org/bots/api#getmyshortdescription + :param language_code: A two-letter ISO 639-1 language code or an empty string :type language_code: :obj:`str` diff --git a/telebot/apihelper.py b/telebot/apihelper.py index b5eb065..8d2b1e7 100644 --- a/telebot/apihelper.py +++ b/telebot/apihelper.py @@ -1196,6 +1196,15 @@ def get_my_commands(token, scope=None, language_code=None): payload['language_code'] = language_code return _make_request(token, method_url, params=payload) +def set_my_name(token, name=None, language_code=None): + method_url = r'setMyName' + payload = {} + if name is not None: + payload['name'] = name + if language_code is not None: + payload['language_code'] = language_code + return _make_request(token, method_url, params=payload, method='post') + def set_chat_menu_button(token, chat_id=None, menu_button=None): method_url = r'setChatMenuButton' payload = {} diff --git a/telebot/async_telebot.py b/telebot/async_telebot.py index ebf5e80..242e74c 100644 --- a/telebot/async_telebot.py +++ b/telebot/async_telebot.py @@ -4361,6 +4361,24 @@ class AsyncTeleBot: result = await asyncio_helper.get_my_commands(self.token, scope, language_code) return [types.BotCommand.de_json(cmd) for cmd in result] + async def set_my_name(self, name: Optional[str]=None, language_code: Optional[str]=None): + """ + Use this method to change the bot's name. Returns True on success. + + Telegram documentation: https://core.telegram.org/bots/api#setmyname + + :param name: Optional. New bot name; 0-64 characters. Pass an empty string to remove the dedicated name for the given language. + :type name: :obj:`str` + + :param language_code: Optional. A two-letter ISO 639-1 language code. If empty, the name will be shown to all users for whose + language there is no dedicated name. + :type language_code: :obj:`str` + + :return: True on success. + """ + + return await asyncio_helper.set_my_name(self.token, name, language_code) + async def set_chat_menu_button(self, chat_id: Union[int, str]=None, menu_button: types.MenuButton=None) -> bool: """ diff --git a/telebot/asyncio_helper.py b/telebot/asyncio_helper.py index 6f7ef0f..804e516 100644 --- a/telebot/asyncio_helper.py +++ b/telebot/asyncio_helper.py @@ -1183,6 +1183,16 @@ async def get_my_commands(token, scope=None, language_code=None): payload['language_code'] = language_code return await _process_request(token, method_url, params=payload) + +async def set_my_name(token, name=None, language_code=None): + method_url = r'setMyName' + payload = {} + if name is not None: + payload['name'] = name + if language_code is not None: + payload['language_code'] = language_code + return await _process_request(token, method_url, params=payload, method='post') + async def set_chat_menu_button(token, chat_id=None, menu_button=None): method_url = r'setChatMenuButton' payload = {}