Page MenuHomePhabricator (Chris)

main.py
No OneTemporary

Authored By
Unknown
Size
2 KB
Referenced Files
None
Subscribers
None
#Todo: Prevent blank /ask
import sys
import time
import telepot
import group_utilities
from random import randrange, random
#fetching our BOT_TOKEN
BOT_TOKEN = sys.argv[1]
#read phrases for stfu function
stfu_phrases = group_utilities.read_lines('stfu_phrases.txt')
response_phrases_y = (group_utilities.read_lines('response_phrases_y.txt'))
response_phrases_n = (group_utilities.read_lines('response_phrases_n.txt'))
def command_handler(msg, content_type, chat_type, chat_id):
if msg['text'][:len('/stfu')] == '/stfu':
bot.sendMessage(chat_id, stfu_phrases[randrange(len(stfu_phrases))])
if msg['text'][:len('/ask')] == '/ask':
if len(msg['text']) > 15: #Is there actually a question or is it just /ask@Jannie_Bot
if random() > 0.5: #More
bot.sendMessage(chat_id, response_phrases_y[randrange(len(response_phrases_y))], reply_to_message_id=msg['message_id'])
else:
bot.sendMessage(chat_id, response_phrases_n[randrange(len(response_phrases_n))], reply_to_message_id=msg['message_id'])
else:
bot.sendMessage(chat_id, "Give me a question you Heretic", reply_to_message_id=msg['message_id'])
if msg['text'][:len('/roll')] == '/roll':
bot.sendMessage(chat_id, str(random.random() * (10**9) // 1)[:9])
def chat_handler(msg):
content_type, chat_type, chat_id = telepot.glance(msg)
if content_type == 'text':
#If the message contains a bot command, go tell command_handler
try:
if msg['entities'][0]['type'] == 'bot_command':
command_handler(msg, content_type, chat_type, chat_id)
#If the message contains Hendrik, send a complaint message to sender
except KeyError:
if "hendrik" in (msg['text'].lower()):
bot.sendMessage(chat_id, 'Who the fuck is Hendrik?', reply_to_message_id=msg['message_id'])
print "Trigger Phrase Detected: \n Message Text: {} \n Sender: {} \n ".format(msg['text'], msg['from']['first_name'])
def edit_handler(msg):
content_type, chat_type, chat_id = telepot.glance(msg)
if content_type == 'text':
if "hendrik" in (msg['text'].lower()):
bot.sendMessage(chat_id, 'Your sneaky edits do not work on me. Who the fuck is Hendrik?', reply_to_message_id=msg['message_id'])
print "Trigger Phrase Detected (EDITED MESSAGE): \n Message Text: {} \n Sender: {} \n ".format(msg['text'], msg['from']['first_name'])
#make our bot and feed it the token
bot = telepot.Bot(BOT_TOKEN)
#fetch messages and keep script looped
bot.message_loop({'chat' : chat_handler,
'edited_chat' : edit_handler },
run_forever="Bot Running...")

File Metadata

Mime Type
text/x-script.python
Expires
Sat, Nov 14, 3:12 PM (1 h, 47 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
130582
Default Alt Text
main.py (2 KB)

Event Timeline