Простые проекты ботов в чате

Я хочу создать простой бот, который отправит мне набор информации, хранящейся в базе данных, в мое окно чата-мессенджера. [Службы чата - это gTalk, Yahoo и другие обычно используемые продукты для чата]. Также он должен быть способен принять несколько предопределенных команд и ответы на них.

Есть ли какой-либо код с открытым исходным кодом для этого?

Ответ 1

Посмотрите AIML (язык разметки искусственного интеллекта), это было в течение ряда лет, и оно довольно хорошо определено и гибко для простых вещи. Вы также можете делать довольно сложные вещи со всеми видами рекурсивных шаблонов, и результаты довольно приличные (в том, что немые боты идут).

Там есть куча открытых проектов sdk, которые используют этот язык разметки, который позаботится о совпадении ваших шаблонов ввода с данным ответом, хранящимся в xml файлы, которые вам нужно настроить с помощью шаблонов.

Я работал над ботсом-мессенджером несколько лет назад на Java, используя AIML для хранения шаблонов (есть много API, если вы следуете этим ссылкам выше) и использовал платформа incesoft msn bot. Отлично проработал.

Надеюсь, что это поможет.

Ответ 2

Для чего-то, что пытается быть немного более сложным, вы можете посмотреть NLTK Natural Language Toolkit:

http://www.nltk.org/

Основанный на Python и предназначенный для образования, но там довольно много документации и, по крайней мере, несколько книг (один из них с открытым исходным кодом).

Ответ 3

Что касается разных чат-сетей, вы можете проверить Pidgin (http://www.pidgin.im/download/source/), который является кросс-платформенным Клиент GPLed chat, написанный на C и GTK +, который работает со всеми основными чат-сетями.

Ответ 4

вы можете рассмотреть возможность найти некоторый ресурс AI есть очень хороший пример использования chatbot попробуйте google verbot который построен с библиотекой .NET

Ответ 5

Мы сделали один довольно простой в распространении в python, он работает с XMPP/gtalk: http://gbin.github.com/err/

Чтобы дать вам представление о минимальном мире приветствия, выполните следующие действия:

from errbot.botplugin import BotPlugin
from errbot.jabberbot import botcmd

class HelloWorld(BotPlugin):
    @botcmd
    def hello(self, mess, args):         # the chatbot will then respond to the command !hello
        """ this command says hello """  # this will be the result of !help hello
        return 'Hello World !'           # this will be the answer

Ответ 6

Я использовал Github hubot для этой цели. Мой бот, когда его попросили рассказать анекдот, рассказывает анекдот. (Конечно, у меня также есть тот, на котором я могу спросить, над чем я должен работать, и он просматривает мой рабочий список.)

GoGoBot> tell a joke about me
GoGoBot> a joke about Shell...  Let me think about it...
GoGoBot>
I heard a funny one the other day:
Chuck Norris doesn't look both ways before he crosses the street...
he just roundhouses any cars that get too close.

Бот работает на NodeJS. Api принимает регулярное выражение и обратный вызов, например

robot.hear /tell a joke/i, (msg) -> msg.send 'I heard a funny joke...'

module.exports = (robot) ->
  robot.hear /tell (?:a|something) (?:joke|funny)(?: about ([a-z.]+))?/i, (msg) ->
    subject = getSubject msg.match[1], msg.message.user.name
    msg.send 'a joke about ' + subject + '...  Let me think about it...' if subject.length
    tellJoke = ->
      getJoke subject, (err, text) ->
        msg.send "Cannot compute.  #{robot.name} is about to die.\r\n#{err}".replace(/e/ig, '3') if err?
        msg.send "I heard a funny one the other day:\r\n#{text}" unless err?
    setTimeout tellJoke, 5000 * Math.random()

Было довольно легко учиться, так как я уже знаком с NodeJS и кофе - script. Я написал два бота, о которых я говорил сегодня через несколько часов.

Ответ 7

Имитированный может быть простым способом начать работу, он позволяет создавать чаты чата с серверными средствами веб-разработки для получения сообщений и просто путем отправки HTTP-запросов на отправку сообщений или запросов.

http://www.imified.com/hosting/

Имитированное API-решение для создание и размещение мгновенных сообщений приложения устраняют сложность и обеспечивает простое решение для создание и развертывание приложений IM в нескольких общедоступных сетях IM, использующих один API.

API docs здесь: http://www.imified.com/developers/api

Приложение, связанное с Имитированная платформа в своем простейшем создать динамическую веб-страницу, которая находится на любом HTTP-сервере и прослушивает входящие сообщения затем выводят ответ. Вы указываете URL конечной точки в настройках ваших ботов. Разработчики могут также "push" сообщения пользователям, а также как запрос присутствия пользователей через REST api для сервера IMified.