Use str or bytes for callback_data and CallbackQuery.data (#241)

This commit is contained in:
Joscha Götzer 2019-04-30 11:49:18 +02:00 committed by Dan
parent cc9bc56391
commit d30cad1a2d
2 changed files with 5 additions and 3 deletions

View File

@ -79,7 +79,7 @@ class CallbackQuery(PyrogramType, Update):
self.chat_instance = chat_instance
self.message = message
self.inline_message_id = inline_message_id
self.data = data
self.data = str(data, "utf-8")
self.game_short_name = game_short_name
@staticmethod

View File

@ -16,6 +16,8 @@
# You should have received a copy of the GNU Lesser General Public License
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
from typing import Union
from pyrogram.api.types import (
KeyboardButtonUrl, KeyboardButtonCallback,
KeyboardButtonSwitchInline, KeyboardButtonGame
@ -61,7 +63,7 @@ class InlineKeyboardButton(PyrogramType):
def __init__(
self,
text: str,
callback_data: bytes = None,
callback_data: Union[str, bytes] = None,
url: str = None,
switch_inline_query: str = None,
switch_inline_query_current_chat: str = None,
@ -71,7 +73,7 @@ class InlineKeyboardButton(PyrogramType):
self.text = str(text)
self.url = url
self.callback_data = callback_data
self.callback_data = bytes(callback_data, "utf-8") if isinstance(callback_data, str) else callback_data
self.switch_inline_query = switch_inline_query
self.switch_inline_query_current_chat = switch_inline_query_current_chat
self.callback_game = callback_game