#!/usr/bin/env python # # A library that provides a Python interface to the Telegram Bot API # Copyright (C) 2015 Leandro Toledo de Souza # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser Public License for more details. # # You should have received a copy of the GNU Lesser Public License # along with this program. If not, see [http://www.gnu.org/licenses/]. from telegram import TelegramObject class User(TelegramObject): 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 @property def name(self): if self.username: return '@%s' % self.username if self.last_name: return '%s %s' % (self.first_name, self.last_name) return self.first_name @staticmethod def de_json(data): return User(id=data.get('id', None), first_name=data.get('first_name', None), last_name=data.get('last_name', None), username=data.get('username', None)) def to_dict(self): data = {'id': self.id, 'first_name': self.first_name} if self.last_name: data['last_name'] = self.last_name if self.username: data['username'] = self.username return data