Технология создания плагинов и программ-дополнений

Здесь обсуждаются графические оболочки, боты, языковые файлы и другие дополнения к CommFort 4.
Аватара пользователя
dv
Сообщения: 1844
Зарегистрирован: 10:28, 11.05.2007
Откуда: Краснодар

Re: Технология создания плагинов и программ-дополнений

Сообщение dv »

[Cообщeние yдалено]
Последний раз редактировалось dv 08:58, 29.06.2012, всего редактировалось 1 раз.
Дополнения для CommFort
Адрес чата: chat.telered.ru




.
sonic
Сообщения: 43
Зарегистрирован: 01:14, 05.12.2007

Re: Технология создания плагинов и программ-дополнений

Сообщение sonic »

dv писал(а):
sonic писал(а):а вот небольшой пример плагина для сервера 4.10 на Delphi
вот спасибо, буду пробовать.
всё работает? а то с прошлым примерчиком что-то не всё получалось..
все что мог проверить - работает.
но, к сожалению, у меня нету лицензионного сервера, только пробная версия
Аватара пользователя
dv
Сообщения: 1844
Зарегистрирован: 10:28, 11.05.2007
Откуда: Краснодар

http://www.commfort.com/rus/forum/viewtopic.php?f=11&t=4246

Сообщение dv »

[Cообщeние yдалено]
Последний раз редактировалось dv 08:57, 29.06.2012, всего редактировалось 1 раз.
Дополнения для CommFort
Адрес чата: chat.telered.ru




.
mw
Сообщения: 120
Зарегистрирован: 15:42, 03.11.2007

Re: Технология создания плагинов и программ-дополнений

Сообщение mw »

некоторые умудряются в блокноте бинарные файлы писать, которые выводят на экран текст :)
Аватара пользователя
INFERION
Сообщения: 517
Зарегистрирован: 14:28, 13.02.2008

Re: http://www.commfort.com/rus/forum/viewtopic.php?f=11&t=4246

Сообщение INFERION »

dv писал(а):...А вообще рекомендую "Delphi 10 Lite" или "Delphi7SE"...
Спасибо за внимание :). Доделаю уже начатое, ещё немного погуглю на эту тему и попробую проследовать твоим рекомендациям. Думаю плагины гораздо проще в реализации чем боты...
Прежде чем на программу ругаться, нужно правильно с нею научиться обращаться.
Аватара пользователя
dv
Сообщения: 1844
Зарегистрирован: 10:28, 11.05.2007
Откуда: Краснодар

Re: http://www.commfort.com/rus/forum/viewtopic.php?f=11&t=4

Сообщение dv »

[Cообщeние yдалено]
Последний раз редактировалось dv 08:57, 29.06.2012, всего редактировалось 1 раз.
Дополнения для CommFort
Адрес чата: chat.telered.ru




.
xccv
Сообщения: 1
Зарегистрирован: 16:20, 29.11.2008

Re: Технология создания плагинов и программ-дополнений

Сообщение xccv »

Помогите осилить плагин на VB..

Для создания dll на vb юзаю FireNativeDll http://bbs.vbstreets.ru/viewtopic.php?t ... cede2e6f15

В функции Premoderation, если возвращать false вроде как работает, если true - плагин вылетает (

Код: Выделить всё

Option Explicit

Private Const DLL_PROCESS_ATTACH As Long = 1
Private Const DLL_PROCESS_DETACH As Long = 0
Private Const DLL_THREAD_ATTACH As Long = 2
Private Const DLL_THREAD_DETACH As Long = 3

Private Type sPluginInfo
    strPluginName(0 To 254) As Byte
    strPluginDescription(0 To 254) As Byte
    strPluginVersion(0 To 254) As Byte
End Type
Private Type sBotUserInfo
    strBotName(0 To 254) As Byte
    strBotPassword(0 To 254) As Byte
    bIsFemale As Boolean
End Type

Private Type typeCommFortProces
    dwPluginID As Integer
    bMessage(0 To 254) As Byte
    dwMessageLength As Integer
End Type

Dim dwPluginID As Integer
Dim CommFortProcess As typeCommFortProces

Private Sub gb(x() As Byte, st As String)
    Dim r As Integer
    For r = 1 To Len(st$)
        x(r - 1) = Asc(Mid$(st$, r, 1))
    Next r
End Sub

Public Function PluginInit(dwPluginID As Integer, plInfo As sPluginInfo, botInfo As sBotUserInfo, func1 As typeCommFortProces) As Byte
    
    Call gb(plInfo.strPluginName, "vb plugin")
    Call gb(plInfo.strPluginDescription, "Desc")
    Call gb(plInfo.strPluginVersion, "4.02")
    Call gb(botInfo.strBotName, "1234")
    Call gb(botInfo.strBotPassword, "1234")
    botInfo.bIsFemale = False
    
    'dwPluginID = dwThisPluginID
    CommFortProcess = func1
    
    PluginInit = 0
End Function

Public Function PluginTerminate() As Byte
    PluginTerminate = 0
End Function

Public Function Premoderation(dwMessageID As Integer, ByRef bMessage() As Byte, dwMessageLength As Integer) As Boolean
    If dwMessageID = 12 Then
        bMessage(0) = 65
        bMessage(1) = 66
        bMessage(2) = 67
        dwMessageLength = 3
        Premoderation = True
        Exit Function
    End If
    Premoderation = False
End Function

Public Function PluginProces(dwMessageID As Integer, bMessage As String, dwMessageLength As Integer) As Byte
    PluginProces = 0
End Function


Public Function DllEntryPoint(ByVal hInstance As Long, ByVal lReason As Long, ByVal lReserved As Long) As Long
              
    Select Case lReason
        Case DLL_PROCESS_ATTACH
            DllEntryPoint = 1
            
        Case DLL_PROCESS_DETACH
            
        Case DLL_THREAD_ATTACH
            
        Case DLL_THREAD_DETACH
            
    End Select
End Function
Cilvay
Сообщения: 816
Зарегистрирован: 14:55, 16.06.2008

Re: Технология создания плагинов и программ-дополнений

Сообщение Cilvay »

А можно ли программе дополнению вставлять картинку в окно чата?
Maxim Mirgorodsky
Администратор
Сообщения: 6867
Зарегистрирован: 09:56, 27.06.2005

Re: Технология создания плагинов и программ-дополнений

Сообщение Maxim Mirgorodsky »

На данный момент нет. В будущем, скорее всего, реализуем.
mw
Сообщения: 120
Зарегистрирован: 15:42, 03.11.2007

Re: Технология создания плагинов и программ-дополнений

Сообщение mw »

cilvay писал(а):А можно ли программе дополнению вставлять картинку в окно чата?
если отправлять в чат(либо в ПМ) - то можно. но делается это не используя функционал дополнений.
ну по крайней мере у меня получается вставить программно картинку в окно приватного сообщения и отправить.
Аватара пользователя
-=SJ=-
Сообщения: 246
Зарегистрирован: 02:21, 06.04.2007

Re: Технология создания плагинов и программ-дополнений

Сообщение -=SJ=- »

Предложение по улучшению интерфейса плагинов:
1. Расширить Feedback.
Возвращать не только положительные результаты а и ошибки.
Например если плагин пытается зайти в канал invite-only то присылать сообщение: что зайти не смог по такой то причине.
Точно так же с запросом списка пользователей канала в котором пользователь не находится, при попытке бана без админских прав, или при попытке послать личное сообщение без права рассылки массовых сообщений. Список ситуаций можно продолжать...

2. Добавить в ответ на запрос списка пользователей канала информацию о теме и состоянии (невидимость, приглашение) канала.

3. Сделать возможность отличать опубликованые сообщения от состояний.

4. Позволять переключатся в различные состояния

5. Позволять изменять учетную запись.
SunnySan
Сообщения: 357
Зарегистрирован: 22:34, 24.05.2008
Контактная информация:

Re: Технология создания плагинов и программ-дополнений

Сообщение SunnySan »

У меня вопрос по ботам: А каков состав сообщений, принимаемых клиентом чатом для того, что бы наложить бан на публикацию во всех общих каналах?
Если такого нет, то просьба внедрить.
Maxim Mirgorodsky
Администратор
Сообщения: 6867
Зарегистрирован: 09:56, 27.06.2005

Re: Технология создания плагинов и программ-дополнений

Сообщение Maxim Mirgorodsky »

-=SJ=-

Спасибо за пожелания.

SunnySan

У меня вопрос по ботам: А каков состав сообщений, принимаемых клиентом чатом для того, что бы наложить бан на публикацию во всех общих каналах?

Для ограничения во всех общих каналах необходимо указать в качестве названия канала пустую строку.
SunnySan
Сообщения: 357
Зарегистрирован: 22:34, 24.05.2008
Контактная информация:

Re: Технология создания плагинов и программ-дополнений

Сообщение SunnySan »

Пожалуйста проверьте достоверность следующей информации.
Объявление отредактировано: 22 + число(уникальный идентификатор объявления)+текст(новый текст объявления)
У меня получается немного не так, а именно:
Объявление отредактировано: 22 + число(уникальный идентификатор объявления)
Последний раз редактировалось SunnySan 19:33, 07.01.2009, всего редактировалось 1 раз.
Maxim Mirgorodsky
Администратор
Сообщения: 6867
Зарегистрирован: 09:56, 27.06.2005

Re: Технология создания плагинов и программ-дополнений

Сообщение Maxim Mirgorodsky »

Верно, вместо нового текста отправлялась пустая строка. Исправлено в версии 4.10c
Закрыто