$ git clone http://tcclient.ion.nu/tc_client.git
commit f34bdb31347fc634ced087cf0ca7090006233542
Author: Alicia <...>
Date:   Wed May 10 21:07:49 2017 +0200

    Workaround for the new captcha mechanism.

diff --git a/ChangeLog b/ChangeLog
index 691baf4..108fb30 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -12,6 +12,7 @@ Bugfix: exit with non-zero status if connection fails.
 Bugfix: return -1 as socket if connectto() fails.
 When getting site and channel from a URL, ignore anything after a slash after the channel name.
 Added a /quit command.
+Workaround for the new captcha mechanism.
 modbot: use https instead of http and use the tcclient subdomain since some DNSes have trouble with underscores.
 modbot: added an option (--no-unapproved) to not add any unapproved videos to queue (videos still get approved by mods requesting or playing them manually)
 tc_client-gtk: fixed a race-condition in the builtin video player.
diff --git a/tinychat.c b/tinychat.c
index 98b3a64..6d477e2 100644
--- a/tinychat.c
+++ b/tinychat.c
@@ -103,7 +103,7 @@ static char* getkey(int id, const char* channel)
   return key;
 }
 
-static void getcaptcha(void)
+static void getcaptcha(const char* channel)
 {
   char* url="http://tinychat.com/cauth/captcha";
   char* page=http_get(url, 0);
@@ -115,7 +115,7 @@ static void getcaptcha(void)
     if(end)
     {
       end[0]=0;
-      printf("Captcha: http://tinychat.com/cauth/recaptcha?token=%s\n", token);
+      printf("Captcha: http://tinychat.com/%s + javascript:void(ShowRecaptcha('%s'));\n", channel, token);
       fflush(stdout);
       fgetc(stdin);
     }
@@ -737,7 +737,7 @@ int init_tinychat(const char* chanpass, const char* username, const char* userpa
 
   rtmp_handshake(sock);
   if(!loggedin){username=0; userpass=0;}
-  getcaptcha();
+  getcaptcha(channel);
   char* cookie=getcookie(channel);
   // Send connect request
   struct rtmp amf;