
27.02.2007, 02:18
|
|
Участник форума
Регистрация: 04.11.2006
Сообщений: 150
С нами:
10271420
Репутация:
175
|
|
Сообщение от _Great_
Итак, попробуем же реализовать на нашем любимом языке программирования (Си  )
а теперь пишем плагин к миранде, который позволяет делать следующее:
при вводе /blo text, для text'а делаем замену на бландинистый стиль, и выплювывем обратна(работает как в личке(icq, irc), так и на irc канале, также наводимся на цель.
комадой
/aim имя_цели
которая устанавливает цель на irc канале,и при попытке этого чувачка написать текст, выводит нечто следующее
PHP код:
[01:12] sni40k15430: UnNam3D wanna say: ЧО ТАМА ????!!!!!
[01:12] Dr_Check|off: да
[01:12] SliP|: -_-
[01:12] UnNam3D: про америкосов нах ?
[01:12] sni40k15430: UnNam3D wanna say: ПРО АМЕРИКОСОВ НАХ ????!!!!!
ну и собственно исходник плагинчега:
PHP код:
<?php
function mbot_load()
{
mb_SelfRegister(MB_EVENT_MSG_OUT|IRC_EVENT_GUI_OUT|IRC_EVENT_GUI_IN, 1);
}
function ConvertStringToBlondy($msg)
{
$msg = @strtoupper($msg);
$msg = @str_replace(",", "!!!!", $msg);
$msg = @str_replace("?", "????!!", $msg);
$msg = $msg.'!!!';
return $msg;
}
function MakeBlonyString($body){
if(@strlen($body) <= 6) return 0;
if(@substr($body,0,4) == '/blo'){
$msg = @substr($body,5);
$msg = @ConvertStringToBlondy($msg);
return $msg;
}
return 0;
}
function SetTarget($aim)
{
if(@strlen($aim) <= 6) return 0;
if(@substr($aim,0,4) == '/aim'){
$aim = @substr($aim,5);
@mt_setvar('target', $aim, 1);
mb_PUMsg('Target setted');
return 1;
}
return 0;
}
function ApplyMsg($msg)
{
$ret = @SetTarget($msg);
if($ret === 1) return 1;
return @MakeBlonyString($msg);
}
function mbe_MsgOut($cid,$body)
{
$msg = @ApplyMsg($body);
if($msg === 0) return 0;
if($msg === 1) return "drop";
mb_MsgSetBody($msg);
return "send";
}
function irc_GuiOut($module,$iType,$channel,$pszUID,$text)
{
$msg = @ApplyMsg($text);
if($msg === 0) return 0;
if($msg === 1) return "drop";
mb_IrcSetGuiDataOut($iType,null,$pszUID,"$msg");
return 0;
}
function irc_GuiIn($module,$eventtype,$channel,$nick,$text)
{
if(@strcmp($eventtype, 64) == 0){
$target = @mt_getvar('target');
if(@strcmp($nick, $target) == 0){
// mb_PUMsg('voshli');
$msg = @ConvertStringToBlondy($text);
if($msg === 0) return 0;
$msg = $target.' wanna say: '.$msg;
$msg = '/MSG '.$channel.' '.$msg;
mb_IrcPostMessage($module,$msg);
// mb_PUMsg($msg);
}
return 0;
}
}
?>
да, работает он используя плагин:
MBot/MSP (Miranda Scripting Plugin)
Последний раз редактировалось sni4ok; 27.02.2007 в 02:29..
|
|
|