Help:
glenwinters / gvobot Goto Github PK
View Code? Open in Web Editor NEWA Skype bot with many talents
A Skype bot with many talents
If the bot can look up a webpage or integrate with other APIs, it could be useful to get it to offer suggestions. Things like:
The bot should science its last response, unless it's already scienced*. Since the default behavior is to science things, this is only for sciencing the output of commands.
Examples:
person: @gvobot hello
gvobot: H.E.L.L.O.
person: !science
gvobot: You've gone too far!
person: @gvobot pinch a cow's udder 2 times
gvobot: reblochon
person: !science
gvobot: R.E.B.L.O.C.H.O.N.
person: !science
gvobot: You've gone too far!
*If we dare to go further:
person: @gvobot hello
gvobot: H.E.L.L.O.
person: !science
gvobot: H.e,L.l,O.
person: !science
gvobot: You've gone too far!
When the message sent to gvobot was:
should I mess around?
the response was:
S.H.O.U.L.D. .I. .M.E.S.S. .A.R.O.U.N.D.?.
I was left not knowing whether to mess around.
Right now, if you start a mention with /me, gvobot replies with "/M.E." at the start of the message. Either stop it from sciencing that, or add some command that makes it prepend /me, so we can get the bot to do actions. Not sure at this point whether the action itself should be scienced or not.
When the message sent to gvobot was:
what is this?
the response was:
W.H.A.T. .I.S. .T.H.I.S.?.
I was left not knowing what this was.
Respond to any message with "reblochon" with "Did you mean rereblochon?".
#13 introduced a database with songs and artists and the !song
command to get a random song. We'll probably want ways to list, add and remove songs.
I think it's an escaping problem.
Rough algorithm: calculate the word count and count of each unique letter for each command and the input. If the input is within an error threshold of one or more commands, suggest those commands. If it's only within the error threshold of one command, it could even run that command automatically.
To improve on the GRINDIE VOLUME ONE atmosphere, the bot could use enhancements such as the following:
At various intervals between 1 and 10 minutes, remind conversation participants what this is.
At various intervals between 1 and 10 minutes, simulate gunshots.
Sending the text:
@gvobot isn't that right
resulted in a response of:
@.G.V.O.B.O.T. .I.S.N.&.A.P.O.S.;.T. .T.H.A.T. .R.I.G.H.T.
The bot API supports rich cards such as gifs, audio, videos, etc. AdaptiveCard
is a type that can have input fields. I'm not quite sure how we'd want to use these, but we should see what they do.
https://docs.microsoft.com/en-us/bot-framework/rest-api/bot-framework-rest-connector-add-rich-cards
The bot is currently only replying to messages. In order to send messages otherwise, it needs to know the conversation ID. It can create a new conversation and use its ID or it can use an ID from an existing conversation by inspecting one of the messages.
Rough idea:
Keep track of all active conversations in the database and a few attributes (such as pow_pow_pow_pow_enabled). We also want to listen for the activities of conversationUpdate
(particularly when the bot was added to a conversation) and `endOfConversation) and update the database accordingly.
When the bot is added to a group chat, it doesn't respond at all. Logging all "activities" in the bot API shows nothing.
Ideas:
dubtrack.fm has an API:
http://docs.dubtrackfmapiv11.apiary.io/#
The bot could do things in the THIS IS GRINDIE VOLUME ONE dubtrack room based on commands it receives in Skype.
We could have a way to save playlists to our song database or create a dubtrack playlist from a list of songs in our database.
gvobot does not distinguish between text and whitespace characters when inserting science dots after each character, and it also does not check to see if the character is already a dot. For example:
"testing 1... 2... 3..."
becomes
"T.E.S.T.I.N.G. .1....... .2....... .3......."
Message:
@gvobot S.C.I.E.N.C.E.
Response:
@.G.V.O.B.O.T. .S...C...I...E...N...C...E...
We could have a simple second bot that monitor's this bot. The bot API has a ping
command that checks to see if a bot is up and running. If we wanted to get fancy, we could even return the status of the latest heroku build or github push.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.