Skip to content

Commit

Permalink
fix: some intendation
Browse files Browse the repository at this point in the history
  • Loading branch information
uburuntu committed Aug 17, 2018
1 parent 9946601 commit 36621bb
Show file tree
Hide file tree
Showing 13 changed files with 61 additions and 38 deletions.
10 changes: 8 additions & 2 deletions examples/deep_linking.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,30 +34,35 @@

bot = telebot.TeleBot('TOKEN')


def extract_unique_code(text):
# Extracts the unique_code from the sent /start command.
return text.split()[1] if len(text.split()) > 1 else None


def in_storage(unique_code):
# (pseudo-code) Should check if a unique code exists in storage
return True


def get_username_from_storage(unique_code):
# (pseudo-code) Does a query to the storage, retrieving the associated username
# Should be replaced by a real database-lookup.
return "ABC" if in_storage(unique_code) else None


def save_chat_id(chat_id, username):
# (pseudo-code) Save the chat_id->username to storage
# Should be replaced by a real database query.
pass


@bot.message_handler(commands=['start'])
def send_welcome(message):
unique_code = extract_unique_code(message.text)
if unique_code: # if the '/start' command contains a unique_code
if unique_code: # if the '/start' command contains a unique_code
username = get_username_from_storage(unique_code)
if username: # if the username exists in our database
if username: # if the username exists in our database
save_chat_id(message.chat.id, username)
reply = "Hello {0}, how are you?".format(username)
else:
Expand All @@ -66,4 +71,5 @@ def send_welcome(message):
reply = "Please visit me via a provided URL from the website."
bot.reply_to(message, reply)


bot.polling()
9 changes: 5 additions & 4 deletions examples/detailed_example/detailed_example.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@
userStep = {} # so they won't reset every time the bot restarts

commands = { # command description used in the "help" command
'start': 'Get used to the bot',
'help': 'Gives you information about the available commands',
'sendLongText': 'A test using the \'send_chat_action\' command',
'getImage': 'A test using multi-stage messages, custom keyboard, and media sending'
'start' : 'Get used to the bot',
'help' : 'Gives you information about the available commands',
'sendLongText': 'A test using the \'send_chat_action\' command',
'getImage' : 'A test using multi-stage messages, custom keyboard, and media sending'
}

imageSelect = types.ReplyKeyboardMarkup(one_time_keyboard=True) # create the image selection keyboard
Expand Down Expand Up @@ -129,4 +129,5 @@ def command_default(m):
# this is the standard reply to a normal message
bot.send_message(m.chat.id, "I don't understand \"" + m.text + "\"\nMaybe try the help page at /help")


bot.polling()
2 changes: 2 additions & 0 deletions examples/echo_bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

bot = telebot.TeleBot(API_TOKEN)


# Handle '/start' and '/help'
@bot.message_handler(commands=['help', 'start'])
def send_welcome(message):
Expand All @@ -21,4 +22,5 @@ def send_welcome(message):
def echo_message(message):
bot.reply_to(message, message.text)


bot.polling()
1 change: 0 additions & 1 deletion examples/step_example.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,5 +83,4 @@ def process_sex_step(message):
# WARNING It will work only if enable_save_next_step_handlers was called!
bot.load_next_step_handlers()


bot.polling()
11 changes: 8 additions & 3 deletions examples/telebot_bot/telebot_bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,10 @@
bot = telebot.AsyncTeleBot(os.environ["TELEBOT_BOT_TOKEN"])
GROUP_CHAT_ID = int(os.environ["GROUP_CHAT_ID"])


def is_api_group(chat_id):
return chat_id== GROUP_CHAT_ID
return chat_id == GROUP_CHAT_ID


@bot.message_handler(func=lambda m: True, content_types=['new_chat_participant'])
def on_user_joins(message):
Expand All @@ -51,6 +53,7 @@ def on_user_joins(message):

bot.reply_to(message, text_messages['welcome'].format(name=name))


@bot.message_handler(commands=['info', 'help'])
def on_info(message):
if not is_api_group(message.chat.id):
Expand All @@ -59,21 +62,23 @@ def on_info(message):

bot.reply_to(message, text_messages['info'])


@bot.message_handler(commands=["ping"])
def on_ping(message):
bot.reply_to(message, "Still alive and kicking!")


@bot.message_handler(commands=['start'])
def on_start(message):
if not is_api_group(message.chat.id):
bot.reply_to(message, text_messages['wrong_chat'])
return


def listener(messages):
for m in messages:
print(str(m))


bot.set_update_listener(listener)
bot.polling()


4 changes: 2 additions & 2 deletions examples/webhook_examples/webhook_aiohttp_echo_bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
WEBHOOK_URL_BASE = "https://{}:{}".format(WEBHOOK_HOST, WEBHOOK_PORT)
WEBHOOK_URL_PATH = "/{}/".format(API_TOKEN)


logger = telebot.logger
telebot.logger.setLevel(logging.INFO)

Expand All @@ -50,6 +49,7 @@ async def handle(request):
else:
return web.Response(status=403)


app.router.add_post('/{token}/', handle)


Expand All @@ -71,7 +71,7 @@ def echo_message(message):
bot.remove_webhook()

# Set webhook
bot.set_webhook(url=WEBHOOK_URL_BASE+WEBHOOK_URL_PATH,
bot.set_webhook(url=WEBHOOK_URL_BASE + WEBHOOK_URL_PATH,
certificate=open(WEBHOOK_SSL_CERT, 'r'))

# Build ssl context
Expand Down
9 changes: 4 additions & 5 deletions examples/webhook_examples/webhook_cherrypy_echo_bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
WEBHOOK_URL_BASE = "https://%s:%s" % (WEBHOOK_HOST, WEBHOOK_PORT)
WEBHOOK_URL_PATH = "/%s/" % (API_TOKEN)


logger = telebot.logger
telebot.logger.setLevel(logging.INFO)

Expand Down Expand Up @@ -71,7 +70,7 @@ def echo_message(message):
bot.remove_webhook()

# Set webhook
bot.set_webhook(url=WEBHOOK_URL_BASE+WEBHOOK_URL_PATH,
bot.set_webhook(url=WEBHOOK_URL_BASE + WEBHOOK_URL_PATH,
certificate=open(WEBHOOK_SSL_CERT, 'r'))

# Disable CherryPy requests log
Expand All @@ -81,9 +80,9 @@ def echo_message(message):

# Start cherrypy server
cherrypy.config.update({
'server.socket_host': WEBHOOK_LISTEN,
'server.socket_port': WEBHOOK_PORT,
'server.ssl_module': 'builtin',
'server.socket_host' : WEBHOOK_LISTEN,
'server.socket_port' : WEBHOOK_PORT,
'server.ssl_module' : 'builtin',
'server.ssl_certificate': WEBHOOK_SSL_CERT,
'server.ssl_private_key': WEBHOOK_SSL_PRIV
})
Expand Down
5 changes: 2 additions & 3 deletions examples/webhook_examples/webhook_cpython_echo_bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
WEBHOOK_URL_BASE = "https://%s:%s" % (WEBHOOK_HOST, WEBHOOK_PORT)
WEBHOOK_URL_PATH = "/%s/" % (API_TOKEN)


logger = telebot.logger
telebot.logger.setLevel(logging.INFO)

Expand Down Expand Up @@ -90,12 +89,12 @@ def echo_message(message):
bot.remove_webhook()

# Set webhook
bot.set_webhook(url=WEBHOOK_URL_BASE+WEBHOOK_URL_PATH,
bot.set_webhook(url=WEBHOOK_URL_BASE + WEBHOOK_URL_PATH,
certificate=open(WEBHOOK_SSL_CERT, 'r'))

# Start server
httpd = HTTPServer((WEBHOOK_LISTEN, WEBHOOK_PORT),
WebhookHandler)
WebhookHandler)

httpd.socket = ssl.wrap_socket(httpd.socket,
certfile=WEBHOOK_SSL_CERT,
Expand Down
3 changes: 1 addition & 2 deletions examples/webhook_examples/webhook_flask_echo_bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
WEBHOOK_URL_BASE = "https://%s:%s" % (WEBHOOK_HOST, WEBHOOK_PORT)
WEBHOOK_URL_PATH = "/%s/" % (API_TOKEN)


logger = telebot.logger
telebot.logger.setLevel(logging.INFO)

Expand Down Expand Up @@ -78,7 +77,7 @@ def echo_message(message):
time.sleep(0.1)

# Set webhook
bot.set_webhook(url=WEBHOOK_URL_BASE+WEBHOOK_URL_PATH,
bot.set_webhook(url=WEBHOOK_URL_BASE + WEBHOOK_URL_PATH,
certificate=open(WEBHOOK_SSL_CERT, 'r'))

# Start flask server
Expand Down
19 changes: 14 additions & 5 deletions examples/webhook_examples/webhook_tornado_echo_bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,18 @@

bot = telebot.TeleBot(API_TOKEN)


class Root(tornado.web.RequestHandler):
def get(self):
self.write("Hi! This is webhook example!")
self.finish()


class webhook_serv(tornado.web.RequestHandler):
def get(self):
self.write("What are you doing here?")
self.finish()

def post(self):
if "Content-Length" in self.request.headers and \
"Content-Type" in self.request.headers and \
Expand All @@ -54,28 +57,34 @@ def post(self):
else:
self.write("What are you doing here?")
self.finish()



tornado.options.define("port", default=WEBHOOK_PORT, help="run on the given port", type=int)
is_closing = False


def signal_handler(signum, frame):
global is_closing
print("Exiting...")
is_closing = True


def try_exit():
global is_closing
if is_closing:
# clean up here
tornado.ioloop.IOLoop.instance().stop()
print("Exit success!")



# Handle '/start' and '/help'
@bot.message_handler(commands=['help', 'start'])
def send_welcome(message):
bot.reply_to(message,
("Hi there, I am EchoBot.\n"
"I am here to echo your kind words back to you."))


bot.remove_webhook()
bot.set_webhook(url=WEBHOOK_URL_BASE,
certificate=open(WEBHOOK_CERT, 'r'))
Expand All @@ -88,9 +97,9 @@ def send_welcome(message):
])

http_server = tornado.httpserver.HTTPServer(application, ssl_options={
"certfile": WEBHOOK_CERT,
"keyfile": WEBHOOK_PKEY,
})
"certfile": WEBHOOK_CERT,
"keyfile" : WEBHOOK_PKEY,
})
http_server.listen(tornado.options.options.port)
tornado.ioloop.PeriodicCallback(try_exit, 100).start()
tornado.ioloop.IOLoop.instance().start()
7 changes: 3 additions & 4 deletions telebot/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ class Handler:
"""
Class for (next step|reply) handlers
"""

def __init__(self, callback, *args, **kwargs):
self.callback = callback
self.args = args
Expand All @@ -46,6 +47,7 @@ class Saver:
"""
Class for saving (next step|reply) handlers
"""

def __init__(self, handlers, filename, delay):
self.handlers = handlers
self.filename = filename
Expand Down Expand Up @@ -1303,12 +1305,11 @@ def _notify_next_handlers(self, new_messages):
if not was_poped:
i += 1


@staticmethod
def _build_handler_dict(handler, **filters):
return {
'function': handler,
'filters': filters
'filters' : filters
}

def message_handler(self, commands=None, regexp=None, func=None, content_types=['text'], **kwargs):
Expand Down Expand Up @@ -1518,8 +1519,6 @@ def load_next_step_handlers(self, filename="./.handler-saves/step.save", del_fil
def load_reply_handlers(self, filename="./.handler-saves/reply.save", del_file_after_loading=True):
return TeleBot.load_reply_handlers(self, filename, del_file_after_loading)

@util.async_dec()

@util.async_dec()
def get_me(self):
return TeleBot.get_me(self)
Expand Down
14 changes: 8 additions & 6 deletions telebot/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -457,18 +457,19 @@ def __html_text(self, text, entities):
if not entities:
return text
_subs = {
"bold": "<b>{text}</b>",
"italic": "<i>{text}</i>",
"pre": "<pre>{text}</pre>",
"code": "<code>{text}</code>",
"url": "<a href=\"{url}\">{text}</a>",
"bold" : "<b>{text}</b>",
"italic" : "<i>{text}</i>",
"pre" : "<pre>{text}</pre>",
"code" : "<code>{text}</code>",
"url" : "<a href=\"{url}\">{text}</a>",
"text_link": "<a href=\"{url}\">{text}</a>"
}
if hasattr(self, "custom_subs"):
for type in self.custom_subs:
_subs[type] = self.custom_subs[type]
utf16_text = text.encode("utf-16-le")
html_text = ""

def func(text, type=None, url=None, user=None):
text = text.decode("utf-16-le")
if type == "text_mention":
Expand Down Expand Up @@ -501,6 +502,7 @@ def html_text(self):
def html_caption(self):
return self.__html_text(self.caption, self.caption_entities)


class MessageEntity(JsonDeserializable):
@classmethod
def de_json(cls, json_string):
Expand Down Expand Up @@ -1069,7 +1071,7 @@ def __init__(self, latitude, longitude, title, address, foursquare_id=None):

def to_dic(self):
json_dic = {'latitude': self.latitude, 'longitude': self.longitude, 'title': self.title,
'address': self.address}
'address' : self.address}
if self.foursquare_id:
json_dic['foursquare_id'] = self.foursquare_id
return json_dic
Expand Down
Loading

0 comments on commit 36621bb

Please sign in to comment.