Shoutbox

plugin help needed (ReceiveNotify) - Printable Version

-Shoutbox (https://shoutbox.menthix.net)
+-- Forum: MsgHelp Archive (/forumdisplay.php?fid=58)
+--- Forum: Messenger Plus! for Live Messenger (/forumdisplay.php?fid=4)
+---- Forum: Scripting (/forumdisplay.php?fid=39)
+----- Forum: Plug-Ins (/forumdisplay.php?fid=28)
+------ Thread: plugin help needed (ReceiveNotify) (/showthread.php?tid=53263)

plugin help needed (ReceiveNotify) by npc on 11-24-2005 at 04:37 PM

hi,
i am a beginner programmer trying to write a plugin for msgplus in VB.NET which uses simple "/dropfile" and ActiveWinamp to send the currently playing item on winamp to anyone who types a trigger. similar to the built in  !triggers. it should work even if the user does not have plus installed.

the problem is that the plugin's ReceiveNotify method does not get called at all. i have changed the notify variable to ascii integer of "!" and tried other characters such as "X".
nothing happens when someone types "!sendf" (5char command).

i have tried all i can, but it seems it just doesn't work.
i have tested the "/dropfile" and winamp filepath retrieval methods to work properly. so the problem is about the plugin or msgplus not recognizing that a message received is a plugin command.

please help if you will. thanks in advance. forgive me if its a craptastic easy question.. i can't figure it out.

i am using msgplus 3.61.145 and msnmssngr 7.5 build 7.5.0331


RE: plugin help needed (ReceiveNotify) by J-Thread on 11-25-2005 at 08:56 AM

All plugin commands should begin with an x, so make it:

/xdropfile


RE: plugin help needed (ReceiveNotify) by npc on 11-25-2005 at 10:45 AM

thanks, but the '/dropfile' i am referring to is built-in msgplus. i have tested that to work correctly.
the problem here is the ReceiveNotify method not being called at all even when the correct trigger is received.


RE: plugin help needed (ReceiveNotify) by RaceProUK on 11-25-2005 at 12:45 PM

ReceiveNotify is only called when the user receives a message that starts with sCCNotify. This usually means that the sender has to use a command from a plugin, so must have Plus! too.


RE: plugin help needed (ReceiveNotify) by npc on 11-25-2005 at 01:07 PM

i have set sCCNotify to be ascii equivalent "!" and tried others such as &H12 etc. ReceiveNotify is still not called when someone sends a message starting with sCCNotify such as "!sendf". i put a msgbox method in the ReceiveNotify to see if it gets called at all, and it is not... any idea what the problem is?


RE: plugin help needed (ReceiveNotify) by matty on 11-25-2005 at 01:19 PM

quote:
Originally posted by npc
i have set sCCNotify to be ascii equivalent "!" and tried others such as &H12 etc. ReceiveNotify is still not called when someone sends a message starting with sCCNotify such as "!sendf". i put a msgbox method in the ReceiveNotify to see if it gets called at all, and it is not... any idea what the problem is?
code:
'//////////////////////////////////////////////////////////////////////
'//                                                                  //
'// Purpose: Allow special actions when a plugin text is received    //
'//                                                                  //
'// Definition:                                                      //
'//   This function is called everytime Messenger Plus! detects a    //
'//   plugin text ID in a message received from a user. This ID is   //
'//   generally placed at the beginning of a text by a plugin        //
'//   command to perform an action on the destination computers.     //
'//   This can be used, for example, to play a sound. See the        //
'//   control characters section for more information.               //
'//                                                                  //
'// Parameters:                                                      //
'//   * sNotifyCode: this 5 character string is the notify code that //
'//     was sent next to the plugin ID control character. Use it to  //
'//     identify what action to perform.                             //
'//   * sText: the rest of the received message. You can use it to   //
'//     get more information about the action you want to perform.   //
'//     However, you MUST NOT use this parameter to determine if an  //
'//     action is supported by your plugin. Use sNotifyCode instead. //
'//   * sContactName: friendly name of the contact who sent this     //
'//     text.                                                        //
'//   * oConversationWnd: Messenger Conversation Window COM          //
'//     interface. The type of this object is                        //
'//     "MessengerConversationWnd". For more information, consult    //
'//     the public Messenger API documentation on Microsoft's web    //
'//     site.                                                        //
'//   * sTextToSend: this parameter is optional. You can use it if   //
'//     you want to ask Messenger Plus! to send a new message after  //
'//     this one has been displayed. This WON'T modify the message   //
'//     associated with the notify code, this will simply send a new //
'//     one.                                                         //
'//   * return value: if you recognized the notify code return True, //
'//     else, return False.                                          //
'//                                                                  //
'// Advanced: if the plugin version returned by Initialize() is 2 or //
'// above, you can specify more than one message or command in       //
'// sTextToSend. Simply create new lines with # as first character   //
'// (use vbLf to create new lines in your string). Up to 20 actions  //
'// can be specified, each being executed at a 0.5 second interval.  //
'// A different delay can even be entered for each action. After the //
'// first #, just put a digit between 1 and 9 and another #.         //
'//   Example: sTextToSend = "#First message\n#5#Second message"     //
'//                                                                  //
'// Important: keep in mind that several plugins can be installed    //
'// and that a lot of text is received. If you don't support the     //
'// notify code passed in parameter, you must return as fast as      //
'// possible and without doing anything else.                        //
'//                                                                  //
'//////////////////////////////////////////////////////////////////////


I am not sure but did you read the comments for receivenotify? The text has to be sent as a command so /xplugin and when you send the text it will be converted to actual text (something you specify) being proceeded with the nCCNotify and your 5 characters to specify for the plugin to respond to.

code:
'//////////////////////////////////////////////////////////////////////
'//                                                                  //
'// The Notify control character is for exclusive use by plugins. It //
'// is generally inserted by plugin commands. This code must be at   //
'// the beginning of a message, must be transformed to a string with //
'// Chr() and must be followed by a 5 characters notify code unique  //
'// to your plugin.                                                  //
'//                                                                  //
'// Example: "XsamplHello!" (where "X" is the 0x12 character)        //
'// When received, the user will only see "Hello!" and               //
'// ReceiveNotify() will be called with "sampl" in sNotifyCode.      //
'//                                                                  //
'//////////////////////////////////////////////////////////////////////

Public Const nCCNotify As Long = &H12


RE: plugin help needed (ReceiveNotify) by npc on 11-25-2005 at 01:34 PM

great! i got the idea. i was using different commands for sending and receiving.. thanks for the help. really appreciate it. should be fixed soon.


RE: plugin help needed (ReceiveNotify) by CookieRevised on 11-25-2005 at 01:59 PM

Or to put it in another way:

1) You do not change the nCCNotify constant. It must be specifically ascii code 0x12 because that is exactly what Plus! looks for in a message to trigger the ReceiveNotify  procedure.

2) Only when your contact sends a real Plus! command, Messenger Plus! installed on your computer will react on this. In other words, Plus! will not react on text send by the user, it must be a Plus! command. In other words, your contact needs to have Plus! (and the plugin) installed also!


RE: plugin help needed (ReceiveNotify) by npc on 11-25-2005 at 03:00 PM

thanks for clearing that up. problems solved now.