Created
September 6, 2013 18:41
-
-
Save Xeroday/6468146 to your computer and use it in GitHub Desktop.
A script to fake views on Twitch.tv, http://www.ericzhang.me/faking-views-on-twitch-tv/
This file contains hidden or 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
import requests | |
import subprocess | |
import json | |
import sys | |
import threading | |
import time | |
from Queue import Queue | |
numberOfViewers = int(sys.argv[1]) | |
builderThreads = int(sys.argv[2]) | |
startTime = time.time() | |
numberOfSockets = 0 | |
concurrent = 25 | |
urls = [] | |
urlsUsed = [] | |
def getURL(): # Get tokens | |
output = subprocess.Popen(["livestreamer", "twitch.tv/CHANNEL_NAME", "-j"], stdout=subprocess.PIPE).communicate()[0] | |
return json.loads(output)['streams']['worst']['url'] # Parse json and return the URL parameter | |
def build(): # Builds a set of tokens, aka viewers | |
global numberOfSockets | |
global numberOfViewers | |
while True: | |
if numberOfSockets < numberOfViewers: | |
numberOfSockets += 1 | |
print "Building viewers " + str(numberOfSockets) + "/" + str(numberOfViewers) | |
urls.append(getURL()) | |
def view(): # Opens connections to send views | |
global numberOfSockets | |
while True: | |
url=q.get() | |
requests.head(url) | |
if (url in urlsUsed): | |
urls.remove(url) | |
urlsUsed.remove(url) | |
numberOfSockets -= 1 | |
else: | |
urlsUsed.append(url) | |
q.task_done() | |
if __name__ == '__main__': | |
for i in range(0, builderThreads): | |
threading.Thread(target = build).start() | |
while True: | |
while (numberOfViewers != numberOfSockets): # Wait until sockets are built | |
time.sleep(1) | |
q=Queue(concurrent*2) | |
for i in range(concurrent): | |
try: | |
t=threading.Thread(target=view) | |
t.daemon=True | |
t.start() | |
except: | |
print 'thread error' | |
try: | |
for url in urls: | |
print url | |
q.put(url.strip()) | |
q.join() | |
except KeyboardInterrupt: | |
sys.exit(1) |
unfortunately the script does not work. can someone help me?
error:
Traceback (most recent call last):
File "C:\Users\Pik\PycharmProjects\pythonProject\klickbot\gdh.py", line 9, in
numberOfViewers = int(sys.argv[1])
IndexError: list index out of range
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Maybe i missed something too and im probably a bit too late. But in your preview it says CHANNEL_NAME and not an actual channel. That might be why it says code 400 cause there arent any twitch.tv/CHANNEL_NAME at the time you ran the program. Try it with an actual channelname instead
EDIT: Wait nevermind seems to get the same error as you are describing