Простий бот для Skype на C++ Qt (ActiveX)

Всім привіт! Нещодавно від нудьги написав Skype бота. Вирішив поділиться, може бути кому-небудь знадобляться исходники, та й сам бот.

image

У пості я не буду втомлювати розповідями про коді, так як в исходниках все можна буде наглядно побачити і зрозуміти, що до чого з назв змінних, класів, методів і по коментарям.

У програмі реалізовані деякі можливості:
  • З'єднання з COM сервером скайпу
  • Від'єднання від COM-сервера скайпу
  • Запуск скайпу
  • Закриття скайпу
  • Оновлення словника не пере запускаючи програму «Словник->Перечитати»
  • Вибір чатів в яких буде йти діалог «Чати->Список чатів»
  • Згортається в system tray



Для роботи програми потрібний файл config.xml який повинен знаходитися в одному каталозі з exe програмою.

Налаштування Skype Бота

Для збереження налаштувань необхідний файл config.xml, який повинен знаходитися в одному каталозі з SkypeBot.exe. У цьому файлі зберігається як словник для бота, так і його параметри:

Структура config.xml така:

<?xml version="1.0" encoding="UTF-8"?>
<main>
<t reg="(привіт|здраствуй)">
<reply>Привіт</reply>
<reply>Здорова</reply>
<reply>Хай</reply>
</t>
<t reg="(Як справи|Як ти)">
<reply>Нормально, а в тебе як?</reply>
<reply>Добре</reply>
</t>
<namechat>#cj1900/$e9e3e97f93c86546</namechat>
</main>


Тег t містить ключ, на який буде видавати відповідь бот і самі відповіді.
Ключ зберігається в атрибуті тега t і називається reg. Всередині тега reg зберігаються слова, укладені в дужках і пишущиеся через символ |. Коли хто-то в чаті пише повідомлення, бот знаходить одне з слів в ключі і якщо є співпадіння, відповідає на нього випадкової фрази укладених тегом reply.

Ключів як і відповідей може бути скільки завгодно.

Далі йде тег namechat. Там зберігається ім'я чату, його редагує сама програма, в ньому знаходиться назва чатів, в яких ви хочете вести діалог з ботом.

Ось вікно вибору чатів:

image

На жаль, по якійсь причині Skype не завжди показує всі чати через ActiveX, я так і не зміг вирішити цю проблему.

Посилання на файли

Посилання на джерело на disk.yandex.uk
Посилання на джерело на github.com
Посилання на програму SkypeBot

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.