The HDSA Bot Family: Difference between revisions
No edit summary |
|||
Line 74: | Line 74: | ||
More about the bot scripts here: [https://github.com/hackersanddesigners/HDSA2015 github.com/hackersanddesigners/HDSA2015] | |||
More about all the bot scripts here: [https://github.com/hackersanddesigners/HDSA2015 github.com/hackersanddesigners/HDSA2015] | |||
Revision as of 16:26, 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
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