diff --git a/telegram/contact.py b/telegram/contact.py index ae10982d3..b99d96ed2 100644 --- a/telegram/contact.py +++ b/telegram/contact.py @@ -2,16 +2,15 @@ class Contact(object): - def __init__(self, **kwargs): - param_defaults = { - 'phone_number': None, - 'first_name': None, - 'last_name': None, - 'user_id': None - } - - for (param, default) in param_defaults.iteritems(): - setattr(self, param, kwargs.get(param, default)) + def __init__(self, + phone_number, + first_name, + last_name=None, + user_id=None): + self.phone_number = phone_number + self.first_name = first_name + self.last_name = last_name + self.user_id = user_id @staticmethod def de_json(data): diff --git a/telegram/forcereply.py b/telegram/forcereply.py index 45b4512b5..b0ff287c8 100644 --- a/telegram/forcereply.py +++ b/telegram/forcereply.py @@ -6,14 +6,11 @@ from replymarkup import ReplyMarkup class ForceReply(ReplyMarkup): - def __init__(self, **kwargs): - param_defaults = { - 'force_reply': True, - 'selective': None - } - - for (param, default) in param_defaults.iteritems(): - setattr(self, param, kwargs.get(param, default)) + def __init__(self, + force_reply=True, + selective=None): + self.force_reply = force_reply + self.selective = selective @staticmethod def de_json(data): diff --git a/telegram/groupchat.py b/telegram/groupchat.py index c2afee1d1..f469ea320 100644 --- a/telegram/groupchat.py +++ b/telegram/groupchat.py @@ -2,18 +2,11 @@ class GroupChat(object): - def __init__(self, **kwargs): - param_defaults = { - 'id': None, - 'title': None - } - - for (param, default) in param_defaults.iteritems(): - setattr(self, param, kwargs.get(param, default)) - - @property - def chat_id(self): - return self.id + def __init__(self, + id, + title): + self.id = id + self.title = title @staticmethod def de_json(data): diff --git a/telegram/location.py b/telegram/location.py index cb005994d..040e7b9c3 100644 --- a/telegram/location.py +++ b/telegram/location.py @@ -2,14 +2,11 @@ class Location(object): - def __init__(self, **kwargs): - param_defaults = { - 'longitude': None, - 'latitude': None, - } - - for (param, default) in param_defaults.iteritems(): - setattr(self, param, kwargs.get(param, default)) + def __init__(self, + longitude, + latitude): + self.longitude = longitude + self.latitude = latitude @staticmethod def de_json(data): diff --git a/telegram/message.py b/telegram/message.py index 7686c862f..40428b6a1 100644 --- a/telegram/message.py +++ b/telegram/message.py @@ -2,33 +2,49 @@ class Message(object): - def __init__(self, **kwargs): - param_defaults = { - 'message_id': None, - 'user': None, - 'date': None, - 'chat': None, - 'forward_from': None, - 'forward_date': None, - 'reply_to_message': None, - 'text': None, - 'audio': None, - 'document': None, - 'photo': None, - 'sticker': None, - 'video': None, - 'contact': None, - 'location': None, - 'new_chat_participant': None, - 'left_chat_participant': None, - 'new_chat_title': None, - 'new_chat_photo': None, - 'delete_chat_photo': None, - 'group_chat_created': None - } - - for (param, default) in param_defaults.iteritems(): - setattr(self, param, kwargs.get(param, default)) + def __init__(self, + message_id, + from_user, + date, + chat, + forward_from=None, + forward_date=None, + reply_to_message=None, + text=None, + audio=None, + document=None, + photo=None, + sticker=None, + video=None, + contact=None, + location=None, + new_chat_participant=None, + left_chat_participant=None, + new_chat_title=None, + new_chat_photo=None, + delete_chat_photo=None, + group_chat_created=None): + self.message_id = message_id + self.from_user = from_user + self.date = date + self.chat = chat + self.forward_from = forward_from + self.forward_date = forward_date + self.reply_to_message = reply_to_message + self.text = text + self.audio = audio + self.document = document + self.photo = photo + self.sticker = sticker + self.video = video + self.contact = contact + self.location = location + self.new_chat_participant = new_chat_participant + self.left_chat_participant = left_chat_participant + self.new_chat_title = new_chat_title + self.new_chat_photo = new_chat_photo + self.delete_chat_photo = delete_chat_photo + self.group_chat_created = group_chat_created @property def chat_id(self): @@ -36,11 +52,11 @@ class Message(object): @staticmethod def de_json(data): - if 'from' in data: # from on api + if 'from' in data: # from is a reserved word, use user_from instead. from telegram import User - user = User.de_json(data['from']) + from_user = User.de_json(data['from']) else: - user = None + from_user = None if 'chat' in data: if 'username' in data['chat']: @@ -59,9 +75,7 @@ class Message(object): forward_from = None if 'reply_to_message' in data: - reply_to_message = Message.de_json( - data['reply_to_message'] - ) + reply_to_message = Message.de_json(data['reply_to_message']) else: reply_to_message = None @@ -109,22 +123,18 @@ class Message(object): if 'new_chat_participant' in data: from telegram import User - new_chat_participant = User.de_json( - data['new_chat_participant'] - ) + new_chat_participant = User.de_json(data['new_chat_participant']) else: new_chat_participant = None if 'left_chat_participant' in data: from telegram import User - left_chat_participant = User.de_json( - data['left_chat_participant'] - ) + left_chat_participant = User.de_json(data['left_chat_participant']) else: left_chat_participant = None return Message(message_id=data.get('message_id', None), - user=user, + from_user=from_user, date=data.get('date', None), chat=chat, forward_from=forward_from, diff --git a/telegram/photosize.py b/telegram/photosize.py index f48022b18..8db31b04f 100644 --- a/telegram/photosize.py +++ b/telegram/photosize.py @@ -2,16 +2,15 @@ class PhotoSize(object): - def __init__(self, **kwargs): - param_defaults = { - 'file_id': None, - 'width': None, - 'height': None, - 'file_size': None - } - - for (param, default) in param_defaults.iteritems(): - setattr(self, param, kwargs.get(param, default)) + def __init__(self, + file_id, + width, + height, + file_size=None): + self.file_id = file_id + self.width = width + self.height = height + self.file_size = file_size @staticmethod def de_json(data): diff --git a/telegram/update.py b/telegram/update.py index 74950ceff..7e63a77aa 100644 --- a/telegram/update.py +++ b/telegram/update.py @@ -2,14 +2,11 @@ class Update(object): - def __init__(self, **kwargs): - param_defaults = { - 'update_id': None, - 'message': None - } - - for (param, default) in param_defaults.iteritems(): - setattr(self, param, kwargs.get(param, default)) + def __init__(self, + update_id, + message=None): + self.update_id = update_id + self.message = message @staticmethod def de_json(data): diff --git a/telegram/user.py b/telegram/user.py index 5b82fa13b..e463101f5 100644 --- a/telegram/user.py +++ b/telegram/user.py @@ -2,16 +2,15 @@ class User(object): - def __init__(self, **kwargs): - param_defaults = { - 'id': None, - 'first_name': None, - 'last_name': None, - 'username': None - } - - for (param, default) in param_defaults.iteritems(): - setattr(self, param, kwargs.get(param, default)) + def __init__(self, + id, + first_name, + last_name=None, + username=None): + self.id = id + self.first_name = first_name + self.last_name = last_name + self.username = username @staticmethod def de_json(data): diff --git a/telegram/userprofilephotos.py b/telegram/userprofilephotos.py index e040ada9c..30ae3218c 100644 --- a/telegram/userprofilephotos.py +++ b/telegram/userprofilephotos.py @@ -2,14 +2,11 @@ class UserProfilePhotos(object): - def __init__(self, **kwargs): - param_defaults = { - 'total_count': None, - 'photos': None - } - - for (param, default) in param_defaults.iteritems(): - setattr(self, param, kwargs.get(param, default)) + def __init__(self, + total_count, + photos): + self.total_count = total_count + self.photos = photos @staticmethod def de_json(data):