Page Menu
Home
Phabricator (Chris)
Search
Configure Global Search
Log In
Files
F618528
main.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Authored By
Unknown
Size
2 KB
Referenced Files
None
Subscribers
None
main.py
View Options
#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
Details
Attached
Mime Type
text/x-script.python
Expires
Sat, Nov 14, 3:12 PM (1 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
130582
Default Alt Text
main.py (2 KB)
Attached To
Mode
R41 JanBot
Attached
Detach File
Event Timeline