1
0
mirror of https://github.com/eternnoir/pyTelegramBotAPI.git synced 2023-08-10 21:12:57 +03:00

Remove the deprecated time.sleep calls.

Reformatted detailed_example to follow Python naming conventions & PEP-8 conventions
This commit is contained in:
97Pedrito 2015-08-30 19:31:48 +02:00
parent c33c116488
commit d118e9edcc
4 changed files with 94 additions and 108 deletions

View File

@ -68,6 +68,3 @@ def send_welcome(message):
bot.reply_to(message, reply) bot.reply_to(message, reply)
bot.polling() bot.polling()
while True:
time.sleep(0)

View File

@ -23,10 +23,11 @@ imageSelect.add('cock', 'pussy')
hideBoard = types.ReplyKeyboardHide() # if sent as reply_markup, will hide the keyboard hideBoard = types.ReplyKeyboardHide() # if sent as reply_markup, will hide the keyboard
# error handling if user isn't known yet # error handling if user isn't known yet
# (obsolete once known users are saved to file, because all users # (obsolete once known users are saved to file, because all users
# had to use the /start command and are therefore known to the bot) # had to use the /start command and are therefore known to the bot)
def getUserStep(uid): def get_user_step(uid):
if uid in userStep: if uid in userStep:
return userStep[uid] return userStep[uid]
else: else:
@ -42,24 +43,20 @@ def listener(messages):
When new messages arrive TeleBot will call this function. When new messages arrive TeleBot will call this function.
""" """
for m in messages: for m in messages:
cid = m.chat.id
if m.content_type == 'text': if m.content_type == 'text':
# print the sent message to the console # print the sent message to the console
print str(m.chat.first_name) + " [" + str(m.chat.id) + "]: " + m.text print str(m.chat.first_name) + " [" + str(m.chat.id) + "]: " + m.text
bot = telebot.TeleBot(TOKEN) bot = telebot.TeleBot(TOKEN)
bot.set_update_listener(listener) # register listener bot.set_update_listener(listener) # register listener
try:
bot.polling()
except Exception:
pass
# handle the "/start" command # handle the "/start" command
@bot.message_handler(commands=['start']) @bot.message_handler(commands=['start'])
def command_start(m): def command_start(m):
cid = m.chat.id cid = m.chat.id
if not cid in knownUsers: #if user hasn't used the "/start" command yet: if cid not in knownUsers: # if user hasn't used the "/start" command yet:
knownUsers.append(cid) # save user id, so you could brodcast messages to all users of this bot later knownUsers.append(cid) # save user id, so you could brodcast messages to all users of this bot later
userStep[cid] = 0 # save user id and his current "command level", so he can use the "/getImage" command userStep[cid] = 0 # save user id and his current "command level", so he can use the "/getImage" command
bot.send_message(cid, "Hello, stranger, let me scan you...") bot.send_message(cid, "Hello, stranger, let me scan you...")
@ -73,16 +70,16 @@ def command_start(m):
@bot.message_handler(commands=['help']) @bot.message_handler(commands=['help'])
def command_help(m): def command_help(m):
cid = m.chat.id cid = m.chat.id
helpText = "The following commands are available: \n" help_text = "The following commands are available: \n"
for key in commands: # generate help text out of the commands dictionary defined at the top for key in commands: # generate help text out of the commands dictionary defined at the top
helpText += "/" + key + ": " help_text += "/" + key + ": "
helpText += commands[key] + "\n" help_text += commands[key] + "\n"
bot.send_message(cid, helpText) #send the generated help page bot.send_message(cid, help_text) # send the generated help page
# chat_action example (not a good one...) # chat_action example (not a good one...)
@bot.message_handler(commands=['sendLongText']) @bot.message_handler(commands=['sendLongText'])
def command_longText(m): def command_long_text(m):
cid = m.chat.id cid = m.chat.id
bot.send_message(cid, "If you think so...") bot.send_message(cid, "If you think so...")
bot.send_chat_action(cid, 'typing') # show the bot "typing" (max. 5 secs) bot.send_chat_action(cid, 'typing') # show the bot "typing" (max. 5 secs)
@ -99,14 +96,17 @@ def command_image(m):
# if the user has issued the "/getImage" command, process the answer # if the user has issued the "/getImage" command, process the answer
@bot.message_handler(func=lambda message: getUserStep(message.chat.id) == 1) @bot.message_handler(func=lambda message: get_user_step(message.chat.id) == 1)
def msg_imageSelect(m): def msg_image_select(m):
cid = m.chat.id cid = m.chat.id
text = m.text text = m.text
bot.send_chat_action(cid, 'typing') #for some reason the 'upload_photo' status isn't quite working (doesn't show at all)
# for some reason the 'upload_photo' status isn't quite working (doesn't show at all)
bot.send_chat_action(cid, 'typing')
if text == "cock": # send the appropriate image based on the reply to the "/getImage" command if text == "cock": # send the appropriate image based on the reply to the "/getImage" command
bot.send_photo(cid, open('rooster.jpg', 'rb'), reply_markup=hideBoard) #send file and hide keyboard, after image is sent bot.send_photo(cid, open('rooster.jpg', 'rb'),
reply_markup=hideBoard) # send file and hide keyboard, after image is sent
userStep[cid] = 0 # reset the users step back to 0 userStep[cid] = 0 # reset the users step back to 0
elif text == "pussy": elif text == "pussy":
bot.send_photo(cid, open('kitten.jpg', 'rb'), reply_markup=hideBoard) bot.send_photo(cid, open('kitten.jpg', 'rb'), reply_markup=hideBoard)
@ -118,17 +118,14 @@ def msg_imageSelect(m):
# filter on a specific message # filter on a specific message
@bot.message_handler(func=lambda message: message.text == "hi") @bot.message_handler(func=lambda message: message.text == "hi")
def command_textHi(m): def command_text_hi(m):
bot.send_message(m.chat.id, "I love you too!") bot.send_message(m.chat.id, "I love you too!")
# default handler for every other text # default handler for every other text
@bot.message_handler(func=lambda message: True, content_types=['text']) @bot.message_handler(func=lambda message: True, content_types=['text'])
def command_default(m): def command_default(m):
bot.send_message(m.chat.id, "I don't understand \""+m.text+"\"\nMaybe try the help page at /help") #this is the standard reply to a normal message # 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()
while True: # Don't let the main Thread end.
try:
time.sleep(1)
except KeyboardInterrupt:
break

View File

@ -7,7 +7,6 @@ API_TOKEN = '<api_token>'
bot = telebot.TeleBot(API_TOKEN) bot = telebot.TeleBot(API_TOKEN)
# Handle '/start' and '/help' # Handle '/start' and '/help'
@bot.message_handler(commands=['help', 'start']) @bot.message_handler(commands=['help', 'start'])
def send_welcome(message): def send_welcome(message):
@ -23,6 +22,3 @@ def echo_message(message):
bot.reply_to(message, message.text) bot.reply_to(message, message.text)
bot.polling() bot.polling()
while True:
pass

View File

@ -76,7 +76,3 @@ def process_sex_step(message):
bot.polling() bot.polling()
while True:
time.sleep(1)
pass