Skip to content

BatchedFiles/Qubick

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Бот для IRC‐каналов

Написан на фрибейсике. Можно скомпилировать как обычное консольное приложение и как службу Windows. Изначально разрабатывается для каналов #freebasic-ru и #s2ch, в настоящее время можно использовать для любых каналов и сетей.

Команды доступные пользователю

Показать список команд

!справка

Псевдонимы: !help, !помощь.

Показать статистику пользователей

!статистика

Бот отправит файл с количеством сказанных фраз всех пользователей текущего канала.

Текст в виде забора

!з <текст>

Бот отправит текст «в ВиДе ЗаБоРа» для издевательства над другими пользователями.

Пинг пользователя

Достаточно отправиь в чат точку:

.

Бот ответит какова задержка сообщений между тобой и ботом в микросекундах.

Посоветовать что‐либо из двух вариантов

Полный вариант:

Чат, скажи: <а> или <б>?

Сокращённый вариант:

Чат, <а> или <б>?

В ответ бот отправит один из вариантов с рекомендацией.

Отправить фразу на жуйк

!жуйк <фраза>

В ответ бот скажет, что отправит на жуйкочан (на самом деле нет).

Установить таймер

!таймер <время в секундах> <текст сообщения>

Бот установит таймер на определённое число секунд, после чего скажет в чату фразу.

Показать ASCII графику

!покажи <рисунок>

В ответ бот отправит один из рисунков. Фраза должна быть в родительном падеже. Доступные рисунки:

  • синего кита
  • дом с трубой
  • сову
  • котэ с рыбой
  • стоящего котэ

Проверка аутентификации

!кто

Бот отправит сообщение «WHOIS ник» на сервер и проверит аутентификацию. Бот не сообщает результат прохождения аутентификации.

Измерить длину пениса

!пенис [ник]

Бот отправит в чат длину пениса пользователя.

Создание уникального идентификатора

!guid

Бот создаст уникальный идентификатор типа GUID и отправит результат в чат.

Команды доступные администратору

Выход из сети

!сгинь [причина выхода]

Сменить ник

!ник <новый ник>

Зайти на канал

!зайди <канал>

Покинуть канал

!выйди <канал> [причина]

Сменить тему

!тема <новая тема>

Сказать в чат

!скажи <кому> <что>

Сказать сырую команду

!ну <текст>

Выполнить на сервере файл

!делай <исполняемый файл> <параметры>

Установить пароль для NickServ

!пароль <пароль>

Добавить ключевую фразу для реагирования

!вопрос <фраза>

Добавить ответ

!ответ <номер вопроса> <фраза>

Показать список ключевых фраз

!вопросы

Показать список ответов

!ответы <номер вопроса>

Конфигурация бота

Настройки бота лежат в файле Qubick.ini рядом с исполняемым файлом. Файл настроек считывается единожды при запуске программы. Примерный вариант файла настроек:

[Connection]
Server=chat.freenode.net
Port=6667
LocalAddress=0.0.0.0
LocalPort=0

[IrcBot]
ServerPassword=
Nick=Qubick
UserString=Qubick
RealName=John Doe
Description=Irc bot written in FreeBASIC

Channels=#freebasic-ru,#s2ch
MainChannel=#freebasic-ru

AdminNick1=writed
AdminNick2=PERDOLIKS

Описание раздела Connection

Server
Доменное имя сервера или IP‐адрес.
Port
Порт для соединения с сервером.
LocalAddress
IP‐адрес сетевой карты, с которой будет идти соединение с сервером.
LocalPort
Локальный порт для соединения с сервером, по умолчанию 0.

Описание раздела IrcBot

ServerPassword
Пароль на сервер, часто не требуется.
Nick
Имя бота.
UserString
USER‐строка.
RealName
Настоящее имя владельца бота.
Description
Описание бота.
Channels
Список каналов, на которых будет сидеть бот. Каналы разделяются запятыми без пробелов.
MainChannel
Главный канал, на нмё будет запрашиваться информация о версии входящих пользователей.
AdminNick1
Главный ник и учётная запись администратора. К этому нику можно привязать запасной.
AdminNick2
Запасной ник администратора.

Компиляция

Для компиляции потребуется статическая библиотека libIRC, взять её можно отсюда https://github.com/BatchedFiles/IrcClientLibrary

Обычное приложение:

fbc -i "C:\Programming\FreeBASIC Projects\IrcClientLibrary\trunk" -l IRC -l Mswsock Main.bas Bot.bas MainLoop.bas BotEvents.bas BotCommands.bas ProcessCommands.bas ProcessCreateGuidCommand.bas ProcessCtcpPingCommand.bas ProcessFenceCommand.bas ProcessGetLogsCommand.bas ProcessHelpCommand.bas ProcessAsciiGraphicsCommand.bas ProcessChooseFromTwoOptionsCommand.bas ProcessChannelStatisticsCommand.bas ProcessUserWhoIsCommand.bas ProcessTimerCommand.bas ProcessPenisCommand.bas ProcessExecuteCommand.bas Logging.bas AnswerToChat.bas QuestionToChat.bas WriteLine.bas DateTimeToString.bas Settings.bas StringFunctions.bas DccSendServer.bas Network.bas

Служба Windows:

fbc -d service=true -i "C:\Programming\FreeBASIC Projects\IrcClientLibrary\trunk" -l IRC -l Mswsock Service.bas Bot.bas MainLoop.bas BotEvents.bas BotCommands.bas ProcessCommands.bas ProcessCreateGuidCommand.bas ProcessCtcpPingCommand.bas ProcessFenceCommand.bas ProcessGetLogsCommand.bas ProcessHelpCommand.bas ProcessAsciiGraphicsCommand.bas ProcessChooseFromTwoOptionsCommand.bas ProcessChannelStatisticsCommand.bas ProcessUserWhoIsCommand.bas ProcessTimerCommand.bas ProcessPenisCommand.bas ProcessExecuteCommand.bas Logging.bas AnswerToChat.bas QuestionToChat.bas WriteLine.bas DateTimeToString.bas Settings.bas StringFunctions.bas DccSendServer.bas Network.bas

About

IRC bot written in FreeBASIC for Windows

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published