The HDSA Bot Family: Difference between revisions

From Hackers & Designers
No edit summary
No edit summary
Line 57: Line 57:
         sentence = "interesting " + nick + " is a very wise woman."
         sentence = "interesting " + nick + " is a very wise woman."
         print sentence
         print sentence
Check all bot scripts here: [https://github.com/hackersanddesigners/HDSA2015 github.com/hackersanddesigners/HDSA2015]




Line 67: Line 65:
===[[Swapbot|Swapbot]]===
===[[Swapbot|Swapbot]]===


More about the bot scripts here: [https://github.com/hackersanddesigners/HDSA2015 github.com/hackersanddesigners/HDSA2015]





Revision as of 16:08, 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"


Facebot

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


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

Spybot

Swapbot

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