Created
June 3, 2018 13:14
-
-
Save crearo/01a0d52b2922e4085bdf6d32d5b0d634 to your computer and use it in GitHub Desktop.
Sends messages and calls a friend in a continuous loop to annoy them
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /usr/bin/env python | |
''' | |
Created on June 3, 2018 | |
@author: rish | |
This snippet sends messages or video calls a friend on Whatsapp. | |
This requires you to keep the Whatsapp chat page open for this to work. | |
''' | |
import sys, os, time, random | |
try: | |
sys.path.insert(0, os.path.join(os.environ['ANDROID_VIEW_CLIENT_HOME'], 'src')) | |
except: | |
pass | |
from com.dtmilano.android.viewclient import ViewClient, TextView, EditText | |
funny_strings = [ | |
'this is an annoying sentence 1', | |
'this is an annoying sentence 2', | |
'this is an annoying sentence 3', | |
'this is an annoying sentence 4', | |
'this is an annoying sentence 5' | |
] | |
single_words = [ | |
'human', | |
'person', | |
'friend' | |
] | |
def video_call(timeout): | |
vc.dump(window=-1) | |
ViewClient.sleep(0.1) | |
call_btn = vc.findViewWithContentDescriptionOrRaise(u'''Video call''') | |
if call_btn is None: | |
print 'unable to find the call button' | |
ViewClient.sleep(0.1) | |
return | |
call_btn.touch() | |
ViewClient.sleep(timeout) | |
vc.dump(window=-1) | |
ViewClient.sleep(0.1) | |
end_call_btn = vc.findViewById("com.whatsapp:id/end_call_btn") | |
if end_call_btn is None: | |
print 'looks like they cut the call before we could end it' | |
ViewClient.sleep(0.1) | |
return | |
end_call_btn.touch() | |
ViewClient.sleep(0.1) | |
def send_msg(msg): | |
vc.dump(window=-1) | |
ViewClient.sleep(0.1) | |
et = vc.findViewByIdOrRaise("com.whatsapp:id/entry") | |
et.touch() | |
et.type(msg) | |
ViewClient.sleep(0.1) | |
vc.dump(window=-1) | |
ViewClient.sleep(0.1) | |
send = vc.findViewByIdOrRaise("com.whatsapp:id/send") | |
send.touch() | |
if __name__ == '__main__': | |
device, serialno = ViewClient.connectToDeviceOrExit(verbose=True) | |
vc = ViewClient(device, serialno) | |
for i in range(0,100): | |
text ='#%d, Hello %s!\n%s' % (i, random.choice(single_words), random.choice(funny_strings)) | |
send_msg(text) | |
print 'iteration [%d] %s' % (i, text) | |
if bool(random.getrandbits(1)): | |
video_call(3) | |
print 'fin' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks for ur guide