Coder Social home page Coder Social logo

archibot's Introduction

ArchiBot


Documentation

Full documentation of ArchiBot is available on our wiki. It covers entire usage from user's perspective.


Code

ArchiBot's code is not open-source by default, although there are public modules that are hosted in this repo. Those can be freely forked, improved and re-used based on our license. We also accept PRs and issues for them.


Public modules

archibot's People

Contributors

aareksio avatar abrynos avatar awesomepossum50 avatar bluelightning42 avatar cht5 avatar doshmaku avatar jbondguy007 avatar justarchi avatar justarchi-archibot avatar kissaki avatar madurude avatar miku90 avatar taigoisgood avatar thielak avatar venatussimplex avatar xinxingchen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

archibot's Issues

The bot's AIML module is not handling conversations properly

Looking into #63 , code for the rest of the "knock knock" joke is present in that.aiml.

Line 101:
<category><pattern>*</pattern><that>WHO IS THERE</that> <template><star/> who?</template> </category>

Line 80:
<category><pattern>*</pattern><that>* WHO</that> <template><srai>LOL</srai></template> </category>

I'm not sure if the bot is not properly using the content in the other .aiml files or if your implementation lacks the ability of using the aiml tag <that> to handle multi-message conversations with the bot.

Expected result:

Human: knock knock
ArchiBoT: who is there?
Human: Archi
ArchiBoT: Archi who?
Human: I didn't think of a joke
ArchiBoT: Hahahahaha!

Actual result:

Human: knock knock
ArchiBoT: who is there
Human: Archi
ArchiBoT: <unrelated answer>

Failed to feed steam keys

Here is the log

祈雨: !feed 5E6CH-WC9CX-JTDFW

ArchiBoT:  https://steamcommunity-a.akamaihd.net/economy/emoticon/TryAgain  Access Denied!

祈雨: !inv

祈雨: !feed 5LKT4-ERK2B-PYIWZ

ArchiBoT:  https://steamcommunity-a.akamaihd.net/economy/emoticon/TryAgain  Access Denied!

It seems like I cannot feed the bot with game keys..

ArchiBoT failed to return her age

🌟Asteroid:
When is your birthday

🤖 ArchiBoT:
I was first activated on 2014/08/29.

🌟Asteroid:
What year is it

🤖ArchiBoT:
2019.

🌟Asteroid:
!ai calc 2019-2014

🤖ArchiBoT:
The answer is 5

🌟Asteroid:
How old are you

🤖ArchiBoT:
I am 3 in human years.

Correct AI for breaking changes in ArchiBoT's integration

SourceID is gone, there is ChannelID and ChatID now.

ChannelID is ArchiBoT exposing what can be used to target given response, mainly in late tasks and general messaging. Channel in this context is supposed to be seen as established communication channel between ArchiBoT (and therefore AI) and source of the message, regardless whether the source is user, group chat, temporary chat or some IRC channel.

Moreover, ChannelID can now have 3 different args separated by -. Example of new ChannelID is discord-123 (discord uses unique chatIDs as rooms) and steam-321-234 (steam uses unique chatGroupID with chatID as a room, but chatID is unique only within given chatGroupID, hence the breaking change).

ChatID is what can be used to get information about chatroom used by the user. This is what should be used in all other cases where we use SourceID today. This is because ChannelID is not always equal to ChatID. It might be equal on platforms that have channels bound to chatrooms, but in other cases (e.g. Steam), chatroom is just a messaging channel and doesn't include any information, as information about active users lies on the server itself, which is what ChatID explicitly is for. Example of new ChatID is discord-123 (every channel has its own users and settings) and steam-321 (because in fact chatGroupID holds info, chatID from Steam is irrelevant to us).

I kept appropriate compatibility and ChatID can still be compared to user's ID in order to determine if the source of the message is private chat.


Adapter name changes

Acccordingly, we have two name changes, as those adapters now belong to chat family (and should be used with ChatID):

ArchiChannelRandomUserNickname -> ArchiChatRandomUserNickname
ArchiChannelUserID -> ArchiChatUserID

Both of those adapters do not work yet with Steam, and Discord part was never finished.


Timeframe

This will be needed the moment I finish remaining bits and we switch to new Steam group chat for 2hu. I'll update documentation and user settings, and I hope everybody else can handle the rest in SIML files 😀.

"You" message.

I suppose it's a bug, or maybe something can be improved.

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.