- /* Check that user is on the specified channel */
- if( ! Channel_IsMemberOf( chan, Origin ))
- {
- IRC_WriteStrClient( Origin, ERR_NOTONCHANNEL_MSG, Client_ID( Origin ), Name );
- return;
- }
+ if (Client_Type(Peer) != CLIENT_SERVER &&
+ Client_Type(Origin) != CLIENT_SERVICE) {
+ /* Check that user is on the specified channel */
+ if (!Channel_IsMemberOf(chan, Origin)) {
+ IRC_WriteStrClient( Origin, ERR_NOTONCHANNEL_MSG,
+ Client_ID(Origin), Name);
+ return;
+ }