![]() |
C# и XMPP-бот.
Всем доброго времени суток!
Решил написать бота для jabber'а, для начала решил использовать библиотеку agsXMPP. После успешного подключения и т.п. решил сделать парочку команд, на которые бот что-либо выводил. Тут и возникла проблема: при запуске бот считывает сообщения чата и, если находит там до его запуска засветились описанные в коде команды, он их принимает и выводит соответствующие им сообщения. Можно ли поставить какую-нибудь задержку на выполнение команд, т.е. сделать так, чтобы выполнялись только те команды, которые были прописаны после запуска бота? P.S. Не судите строго студента :3 Код:
using System; |
Chilli, посмотрите, если формат ввода данных поддерживает время отправки сообщений, то ориентироваться по времени. C# используя .NET должен содержать команды для упрощенной работы со временем (я так думаю, что должен :) )
|
По идее, то, что я ищу, находится в самой библиотеке XMPP.
Есть там agsXMPP.protocol.x.Delay, и вот это очень похоже на искомое. На C# сижу второй день, потому испытываю некоторые сложности в освоении. |
Chilli, я не разбирался с протоколом XMMP, я не кодировал на С# и часа. Все мои предположения исходят из того, что я вижу и предполагаю.
Chilli, http://www.ag-software.de/agsxmpp-sdk/download/ я так понимаю, что эта библиотека используется в разработке. Скачав архив 7z я обнаружил, что есть такие папки как doc, samples и т.д. Есть примеры рабочих программ. Поэтому вопрос банален: документация читалась? Ознакомьтесь с полным описанием протокола, прочитав спецификацию XMPP. (EN) Студент 3 его курса, не изобретай велосипед! Твоя задача - освоить механизм, поняв принципы его работы. Поэтому сначала читаешь документацию, потом рисуешь схему транспорта сообщений передатчик-среда-приемник. Смотришь кто, что и как формирует, как отправляет и как принимает. Берешь рабочий пример, разбираешься в нем (я сейчас в код не полезу, но он у меня есть) и только после(!) этого начинаешь придумывать что-то свое. Думай над более интересными задачами - присоединение этого механизма к "старшей" задаче, объединение ряда программ в комплекс, оценку гибкости данного решения и т.п. Это в будущем. А сейчас Твоя задача - освоить механизм, поняв принципы его работы. |
lxa85, тут я зафэйлился, ибо качал только библиотеку по ссылке справа, я слепой =/
Проблема решилась довольно таки банально, перед свитчем с командами прописал Код:
if (msg.XDelay != null) return; Спасибо за упоминание о документации, что вложена в SDK, помогла в дальнейших реализациях. |
Время: 05:24. |
Время: 05:24.
© OSzone.net 2001-