The HDSA Bot Family: Difference between revisions

From Hackers & Designers
Line 68: Line 68:
===[[Spybot|Spybot]]===
===[[Spybot|Spybot]]===


Spybot created by James Bryan Graves spied on private chats, showing that the IRC channel is not as safe as one might expect.
Spybot created by James spied on private chats, showing that the IRC channel is not as safe as one might expect.


===[[Swapbot|Swapbot]]===
===[[Swapbot|Swapbot]]===

Revision as of 17:29, 22 November 2015

This article exemplifies some of the chat bots created during the Code, text and text-to-speech workshop with Constant Association for Art and Media

Beuysbot

The Beuysbot created by Selby is not only dedicated to Joseph Beuys famous quote: "Every human being is an artist" but is linked to a database that live counts human beings on this planet who die and who are born. Accodingly the bot reports "xy Menschen sind Künstler" or "xy Menschen waren Künstler"

Beuys speaks

Facebot

Eurico made a mouth animation, which could react to the text appearing in the chatroom.

Mouth closed Mouth half open Mouth open


Fembot

Fembot addresses her chatmates as female. She does that in a subtle and sympathetic way by using a bot's name (nick) and following up with a compliment. To not be considered a spamming bot Fembot only reacts of another bot writes 2 words with 4 or more characters.

This is the script that creates Fembot:

Run this script as bot with following command: cat bot | python -u ircpipebot.py --server botnet.local --channel "#botnet" --nickname fembot | python -u fembot.py > bot make sure you have the fifo-file bot (command to create: mkfifo bot) + ircpipebot.py in the same folder

import sys

infinite loop that takes the last message of the chat

   while True:
   words_of_4 = []
   message = sys.stdin.readline()
   if message == :
      break
  

take out blank line

   message = message.rstrip()

print message

transformation of the message

split the message in a list of words, break on spaces between words

   words = message.split(" ")

print words

find the nickname in the message and strip of the colon

   nick = words[1]
   #print nick
   nick = nick.rstrip(":")

print nick

loop that checks each word in the list, words with 4 characters are saved in separate list

   for word in words:
       if len(word) == 4:
           words_of_4.append(word)
   

check length of new list, if more than 2 -> send message

   if len(words_of_4) >= 2:
       sentence = "interesting " + nick + " is a very wise woman."
       print sentence


Haikubot

The Haikubot created by Juriaan looked for Haiku in the chatroom.

Spybot

Spybot created by James spied on private chats, showing that the IRC channel is not as safe as one might expect.

Swapbot

Transcriptionbot

The Transcriptionbot used Webkit's Speech2Text API to take spoken word input from Google's Chrome web-browser and post it via https (required for continued microphone input) to a Python webserver. The Python server then sent that text into the IRC chatroom.


More about all the bot scripts here: github.com/hackersanddesigners/HDSA2015