Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 859
» Latest member: makabaka
» Forum threads: 11,194
» Forum posts: 73,585

Full Statistics

Online Users
There are currently 59 online users.
» 0 Member(s) | 57 Guest(s)
Bing, Google

Latest Threads
Slope Unblocked: The Ulti...
Forum: General Discussions
Last Post: Semhar Girmay
24-08-2026, 02:43 AM
» Replies: 0
» Views: 39
Hello
Forum: Introduce yourself
Last Post: D3f4ult
04-03-2026, 10:20 AM
» Replies: 71
» Views: 86,501
intro to myself
Forum: Introduce yourself
Last Post: Donaldbiz
16-04-2025, 02:42 AM
» Replies: 1
» Views: 3,443
The Importance of Getting...
Forum: Linux Stuff
Last Post: Chano
19-10-2024, 11:02 PM
» Replies: 1
» Views: 7,034
Hey there...
Forum: Introduce yourself
Last Post: Knight_Errant
19-10-2024, 03:12 PM
» Replies: 6
» Views: 7,784
How to compile Irssi from...
Forum: Linux Stuff
Last Post: FrankCaurn
12-10-2024, 04:40 AM
» Replies: 1
» Views: 10,666
Witam z Krakowa
Forum: Introduce yourself
Last Post: Chopper
24-11-2023, 12:59 AM
» Replies: 1
» Views: 2,467
Merry Christmas !!!
Forum: Network News
Last Post: Hooter_Tooter
17-12-2021, 11:34 PM
» Replies: 11
» Views: 26,816
Hello
Forum: Introduce yourself
Last Post: immortal
27-06-2021, 09:05 AM
» Replies: 1
» Views: 2,883
guide lines
Forum: General Discussions
Last Post: wildcard
11-01-2021, 06:31 AM
» Replies: 0
» Views: 2,489

 
  Information for xChat
Posted by: Omar - 08-01-2012, 09:18 PM - Forum: XChat - No Replies

XChat is an IRC chat program for both Linux and Windows. It allows you to join multiple IRC channels (chat rooms) at the same time, talk publicly, private one-on-one

conversations etc. Even file transfers are possible.

Official website:

http://xchat.org/ is the official website which you can get the latest version and download it easily and install it in your pc


Forum website:

http://forum.xchat.org/ as its will help you if you are looking for some help about the script or some useful addons you might want.

Please Note

You may use XChat for Windows for free for 30 days. If, after this time, you would like to continue using the product, you are required to register. Registration is a one time for $19.99

Print this item

  Auto Identify
Posted by: Omar - 14-12-2011, 04:12 PM - Forum: mIRC - No Replies

Some people their nicks were dropped while they forgot to identify so this way might help you for auto identify if u are using mIRC or any script based on it like

(PnPlus,IRCap,NoName,IceChat,.....etc.)


How to set it

  • Go to tools on the top bar then Options - Connect -- Option - Perform then mark Enable perform on connect


    and go to Perform commands: then type the command for the identify with your own password /msg nickserv identify <yourpassword> .

Please Note:

If you didn't identify for 30 days .. your nickname will be dropped and anyone else can register it ... and if it happened its not our problem when people come ask about their nicknames since we always advice for identify ur nick each time u come in

Print this item

  How to add access to your channel using flags
Posted by: Omar - 28-11-2011, 02:13 PM - Forum: Services and IRCd Help - Replies (1)

  • The last days few people were asking at #ophelp about using flags ..i will try to talk about how to use them.

List of all the flags:
  • To get the list you can type
Code:
/msg chanserv help flags
  • +v - Enables use of the voice/devoice commands.

    +V - Enables automatic voice.

    +h - Enables use of the halfop/dehalfop commands.

    +H - Enables automatic halfop.

    +o - Enables use of the op/deop commands.

    +O - Enables automatic op.

    +a - Enables use of the protect/deprotect commands.

    +q - Enables use of the owner/deowner commands.

    +s - Enables use of the set command.

    +i - Enables use of the invite and getkey commands.

    +r - Enables use of the kick, kickban, ban and unban commands.

    +R - Enables use of the recover and clear commands.

    +f - Enables modification of channel access lists.

    +t - Enables use of the topic and topicappend commands.

    +A - Enables viewing of channel access lists.

    +S - Marks the user as a successor.

    +F - Grants full founder access.

    +b - Enables automatic kickban.



    How to use:
    • You can choose any of these flags to add it to specify nickname also you can add more than one flag.
    Code:
    /msg chanserv flags #<channel> <nickname> +O /msg chanserv flags #<channel> <nickname> +AO

    How to remove someone from access:
    • There are two ways for that.
    • 1-You can check what access he got and remove its flag.
    Code:
    /msg chanserv flags #<channel> <nickname> -AO
    • 2-You can use this flag to remove any access to any nickname.
    Code:
    /msg chanserv flags #<channel> <nickname> -*

    • There are some default roles for access are made when you register your channel

    List of channel-defined roles:
    • FOUNDER = +AFOafhiorstv

      SOP = +AOafhiorstv

      AOP = +AOhiortv

      HOP = +AHVhtv

      VOP = +AV

      • Using them will be the same way like the pervious one

      Code:
      /msg chanserv flags #<channel> <nickname> +AOafhiorstv or /msg chanserv flags #<channel> <nickname> SOP

      Code:
      /msg chanserv flags #<channel> <nickname> FOUNDER or /msg chanserv flags #<channel> <nickname> +AFOafhiorstv


      How to see the flags thats already set in your channel:
      • For specify nickname

      Code:
      /msg chanserv flags #<channel> <nickname>
      • For all the nicknames

      Code:
      /msg chanserv flags #<channel>


      Please Note: be aware from giving Founder access to anyone as it will be the same access as your if you are the one who registered the channel ... as he can from you from access or drop the channel.

Print this item

  Away System
Posted by: Omar - 13-11-2011, 07:25 PM - Forum: mIRC - Replies (4)

  • This addon is to help you to save your away message as for some users who use mIRC got this problem while he cant save his away message also it has a bit functions that u will like it .. i just found it by luck on a forum and i saw it really nice so i thought its a good idea to share to you all Big Grin

How to load the addon on your mIRC script
  • 1- Go on Tools on the MenuBar - Script Editor - Remote - File - New then copy the code down and paste it there then press Ok.

    2- Download the Away System.mrc down, Put it on the mirc folder and go on Tools on the MenuBar - Script Editor --- > Remote - File  - Load and then choose the place of the Away System.mrc and then press Open then Ok

Code

Code:
dialog asy {   title "Away System"   size -1 -1 172 159   option dbu   box "Set Away Nick", 1, 1 1 57 34   edit "", 2, 4 12 50 9, autohs   button "Set", 3, 5 23 20 9, flat   button "Unset", 4, 34 23 20 9, flat   box "Set Back Nick", 5, 62 1 57 34   edit "", 6, 65 12 50 9, autohs   button "Set", 7, 65 23 20 9, flat   button "Unset", 8, 95 23 20 9, flat   box "Add/Del Away Reason", 9, 1 36 118 35   edit "", 10, 4 45 111 9, autohs   button "Add", 11, 4 56 54 10, flat   button "Del", 12, 61 56 54 10, flat   box "Auto Away", 13, 121 1 50 70   radio "None", 14, 124 12 25 10, flat   radio "30 Minutes", 15, 124 23 37 10, flat   radio "60 Minutes", 16, 124 34 37 10, flat   radio "90 Minutes", 17, 124 45 37 10, flat   radio "120 Minutes", 18, 124 56 40 10, flat   box "Reason List", 19, 1 72 170 60   list 20, 4 81 163 46, size vsbar   box " Away/Back", 21, 1 133 61 25   button "Away", 22, 4 143 25 10, flat   button "Back", 23, 34 143 25 10, flat   box "Highlite Notice", 24, 64 133 43 25   check "On", 25, 69 143 17 10, flat   check "Off", 26, 88 143 17 10, flat   box "Date/Time", 27, 108 133 63 25   text "", 28, 112 143 55 8 } menu menubar,channel {   .Away System { dialog $iif($dialog(asy),-v,-md) asy asy }  } alias -l asytime { did -ra asy 28 $time(mm.dd.yy h:nn:ss tt) } alias -l auto.away.check {   if ($ceil($calc($nick($active,$me).idle / 60)) == $iif(%t.30,30,$iif(%t.60,60,$iif(%t.90,90,$iif(%t.120,120,))))) && (!$away) {     amsg 14,1[12,1»0,1:: Idle Away After ::12,1«14,1]14,1[12,1»0,1:: $iif(%t.30,30,$iif(%t.60,60,$iif(%t.90,90,$iif(%t.120,120,)))) Minutes ::12,1«14,1]     .away Idle Away After $iif(%t.30,30,$iif(%t.60,60,$iif(%t.90,90,$iif(%t.120,120,)))) Minutes     nick %asyanick   } } alias asaway {   if (!$away && %asyanick && %asybnick) {     nick %asyanick     amsg 14,1[12,1»0,1:: I am Now Away ::12,1«14,1]14,1[12,1»0,1::Reason: $1- ::12,1«14,1]14,1[12,1»0,1:: Left At ::12,1«14,1]14,1[12,1»0,1:: $time(h:nn tt) ::12,1«14,1]     .away $1-   } } alias asaback {   if ($away && %asyanick && %asybnick) {     amsg 14,1[12,1»0,1:: I am Now back from ::12,1«14,1]14,1[12,1»0,1::Reason: $awaymsg ::12,1«14,1]14,1[12,1»0,1:: Gone for ::12,1«14,1]14,1[12,1»0,1:: $duration($awaytime) ::12,1«14,1]     nick %asyanick     .away   } } on *:load: { } on *:DIALOG:asy:close:0:{ .timerasytime off } on *:DIALOG:asy:init:0:{   did -a $dname 28 $time(mm.dd.yy h:nn:ss tt)   .timerasytime 0 1 asytime   if ($away) { did -b $dname 22 | did -e $dname 23,25,26 }   if (!$away) { did -e $dname 22 | did -b $dname 23,25,26 }   if (%asyanick) { did -a $dname 2 %asyanick }   if (%asybnick) { did -a $dname 6 %asybnick }   did -c $dname $iif(%t.none,14,$iif(%t.30,15,$iif(%t.60,16,$iif(%t.90,17,$iif(%t.120,18,)))))   $iif(%highlite,did -c $dname 25,did -c $dname 26)   if $read(awayreason.txt) {     var %x = 1     while ( %x <= $lines(awayreason.txt)) {       did -a $dname 20 $read(awayreason.txt,%x)       inc %x     }   } } on *:DIALOG:asy:sclick:*:{   if ($did == 14) { unset %t.* | set %t.none on | .timert* off }   if ($did == 15) { unset %t.* | set %t.30 on | .timerta 0 1 auto.away.check }   if ($did == 16) { unset %t.* | set %t.60 on | .timertb 0 1 auto.away.check }   if ($did == 17) { unset %t.* | set %t.90 on | .timertc 0 1 auto.away.check }   if ($did == 18) { unset %t.* | set %t.120 on | .timertd 0 1 auto.away.check }   if ($did == 25) { set %highlite on | did -u $dname 26 }   if ($did == 26) { unset %highlite | did -u $dname 25 }   if ($did == 3) { $iif(!$did(2).text,noop $input(Please Enter An Away Nick,uwo,Error!),set %asyanick $did(2).text) }   if ($did == 4) { $iif(!$did(2).text,noop $input(Please Enter An Away Nick,uwo,Error!),unset %asyanick $did(2).text) | did -r $dname 2 }   if ($did == 7) { $iif(!$did(6).text,noop $input(Please Enter A Back Nick,uwo,Error!),set %asybnick $did(6).text) }   if ($did == 8) { $iif(!$did(6).text,noop $input(Please Enter A Back Nick,uwo,Error!),unset %asybnick $did(6).text) | did -r $dname 6 }   if ($did == 11) {     if (!$did(10).text) { noop $input(Please Enter A Reason,uwo,Error!) }     else {       .write awayreason.txt $did(10).text       did -r $dname 10,20       var %x = 1       while ( %x <= $lines(awayreason.txt)) {         did -a $dname 20 $read(awayreason.txt,%x)         inc %x       }     }   }   if ($did == 12) {     if (!$did(20).seltext) { noop $input(Please Select A Reason,uwo,Error!) }     else {       var %dawayreason $read(awayreason.txt,w,$did(20).seltext)       if (%dawayreason == $did(20).seltext) {         write -dl [ $+ [ $readn ] ] awayreason.txt         did -r $dname 20         var %x = 1         while ( %x <= $lines(awayreason.txt)) {           did -a $dname 20 $read(awayreason.txt,%x)           inc %x         }       }     }   }   if ($did == 22) {     if (!%asyanick || !%asybnick) {       noop $iif(!%asyanick,$input(Please Enter An Away Nick,uwo,Error!),$iif(!%asybnick,$input(Please Enter A Back Nick,uwo,Error!)))     }     elseif (%asyanick && %asybnick && !$did(20).seltext) {       nick %asyanick       did -b $dname 22       did -e $dname 23,25,26       .away none       amsg 14,1[12,1»0,1:: I am Now Away ::12,1«14,1]14,1[12,1»0,1::Reason: None ::12,1«14,1]14,1[12,1»0,1:: Left at ::12,1«14,1]14,1[12,1»0,1:: $time(h:nn tt) ::12,1«14,1]     }     elseif (%asyanick && %asybnick && $did(20).seltext) {       nick %asyanick       did -b $dname 22       did -e $dname 23,25,26       .away $did(20).seltext       amsg 14,1[12,1»0,1:: I am Now Away ::12,1«14,1]14,1[12,1»0,1::Reason: $did(20).seltext ::12,1«14,1]14,1[12,1»0,1:: Left at ::12,1«14,1]14,1[12,1»0,1:: $time(h:nn tt) ::12,1«14,1]     }   }   if ($did == 23) {     nick %asybnick     amsg 14,1[12,1»0,1:: I am Now back from ::12,1«14,1]14,1[12,1»0,1::Reason: $awaymsg ::12,1«14,1]14,1[12,1»0,1:: Gone For ::12,1«14,1]14,1[12,1»0,1:: $duration($awaytime) ::12,1«14,1]     did -e $dname 22     did -b $dname 23,25,26     unset %highlitecheck.*     .away   } } on *:TEXT:*:#:{   if (%highlite && $away) {     if (%asyanick isin $1- || %asybnick isin $1-) {       inc $+(%,highlitecheck,.,$nick)       if ($($+(%,highlitecheck,.,$nick),2) = 1) { .notice $nick  14,1[12,1» 0,1::This Is A One Time Response:: I am Away ATM :Reason:12,1 $awaymsg 0,1:Gone for:12,1 $duration($awaytime) 12,1«14,1] | window @away | aline @away $nick Called Your Name At $time(h:nn:tt) In $chan And Said: $1- }       if ($($+(%,highlitecheck,.,$nick),2) >= 2) { window @away | aline @away $nick Called Your Name At $time(h:nn:tt) In $chan And Said: $1- }     }   } } on *:input:*:{   if (%t.30 || %t.60 || %t.90 || %t.120) {     if ($away) {       amsg 14,1[12,1»0,1:: I am Now back from ::12,1«14,1]14,1[12,1»0,1::Reason: $awaymsg ::12,1«14,1]14,1[12,1»0,1:: Gone For ::12,1«14,1]14,1[12,1»0,1:: $duration($awaytime) ::12,1«14,1]       nick %asybnick       unset %highlitecheck.*       .away     }   } }

How to use
  • Right click on any of the mIRC window for the popup prompt called Away System Click on it so that u can see all the functions there also for a fast way you can use /asaway <reason>for away and also /asaback when you back



Attached Files
.mrc   Away System.mrc (Size: 7.02 KB / Downloads: 645)
Print this item

  Netsplit Detector
Posted by: Omar - 12-11-2011, 11:52 PM - Forum: mIRC - No Replies

  • This addon will send you meesage when there is a Netsplit between 2 servers as its normally happened between two Big Grin... Just load it and wait for next netsplit and it u will see it.

How to load the addon on your mIRC script
  • 1- Go on Tools on the MenuBar - Script Editor - Remote - File - New then copy the code down and paste it there then press Ok.

    2- Download the Netsplit Detector.mrc down, Put it on the mirc folder and go on Tools on the MenuBar - Script Editor --- > Remote - File  - Load and then choose the place of the Netsplit Detector.mrc and then press Open then Ok

Code

Code:
on *:quit:{   if (*.*.* iswm $1) && (*.*.* iswm $2) && (!%detected) {     echo -st 8,1 Netsplit detected between  $1 and $2     ebeeps on     beep 5 500     set -u60 %detected on   } }



Attached Files
.mrc   Netsplit Detector.mrc (Size: 195 bytes / Downloads: 821)
Print this item

  A simple room protection +j mode needed
Posted by: free - 09-11-2011, 05:25 PM - Forum: mIRC - Replies (1)

on *:Notice:*This*channe*has*been*closed*:#:{ if ($me isop $chan) { .mode $chan +bMR p:*!*@* | /msg $chan 0,4 $chan Has Been Locked For Unregistered Users, Sorry For Any Inconvenience | .timer 1 60 .mode $chan -MR } }

Print this item

  Avoid using of your Nicks by Auto Ghost
Posted by: free - 09-11-2011, 05:23 PM - Forum: mIRC - Replies (5)

;to set it pls use the following steps
;step1: type /alias mynicks return yournick1!yournick2!yournick3!yournick4
;step2: type /alias pass return yourpass1;yourpas2;yourpas3;yourpas4
;step3: type /notify yournick1 upto /notify yournick4

on ^!*:notify: {
if ($findtok($mynicks,$nick,1,33)) {
%nghost. [ $+ [ $cid ] ] = $nick
ns ghost $nick $gettok($pass,$ifmatch,59)
echo $color(notify) -at ::NickServ- your registered nick : $+ $nick used by some one from $site $+ , autoghost activated
}
else { echo $color(notify) -at $nick is on irc }
haltdef
}
on ^*:notice:*ghost*killed*:?: {
if ($nick == nickserv) && (%nghost. [ $+ [ $cid ] ]) { echo $color(notice) -at NickServ- Your Ghost: %nghost. [ $+ [ $cid ] ] has been successfully killed }
halt
}

Print this item

  How to regain your nickname
Posted by: Omar - 08-11-2011, 12:17 PM - Forum: Services and IRCd Help - Replies (2)

  • There are many ways for you to regain your nick i will let you see the easiest on of them.

How to make regain for your nickname
  • To do this you have to use one of these 2 ways

1- Type this command and then the nick will be regain immediately /msg nickserv regain <nickname> <password> if you didnt regain you nick after this command change your nick to the nick you want to regain it /nick yournick then it shall work  fine.

2- Type this command /msg nickserv ghost <nickname> <password> and then you need to type /nick yournick as the ghost command used to disconnect the one who is using your nick so u can make sometime ghost and don't change your nick just if you dont want someone use your nick. Big Grin

How i know that i need to use the regain command

1- Someone is using my nick and online with it

2- After i login i found my nick changed automatic to Guest and when i try to get it back it give me this message
Quote:Invalid nickname- nickname: Registered nickname.

This is normally happen when you dont identify fast so just use the way number 1 and then you will get your nick back.

Print this item

  Auto Kick On Ban
Posted by: Omar - 08-11-2011, 12:41 AM - Forum: mIRC - Replies (4)

    • This addon will kick anyone one the room has been banned with reason Banned if he was banned by you or anyone else and sure if u are halfop or more Big Grin.. i made this as the ppl who using mIRC based will not have that function but i think others scripts will have it.

    Example

    Quote:
    •   (01:23:13) * Agent sets mode: +b *!*@8872FA.F049B8.232DE2.01BF5A
      (01:23:14) * Cracon was kicked by Agent (Banned)

    How to load the addon on your mIRC script

    1- Go on Tools on the MenuBar - Script Editor - Remote - File - New then copy the code down and paste it there then press Ok.

    2- Download the Auto kick on ban.mrc down, Put it on the mirc folder and go on Tools on the MenuBar - Script Editor --- > Remote - File  - Load and then choose the place of the Auto kick on ban.mrc and then press Open then Ok

Code

Code:
alias -l add {   var %1 = $strip($1)   goto $prop   :allow | return $addtok(%allow,%1,44)   :dis | return $remtok(%allow,%1,1,44) } on @*:ban:%allow:{   var %i = 1   while ($ialchan($banmask,#,%i).nick) {     if ($v1 != $me) {       kick # $v1 Banned     }     inc %i   } } menu status,channel,nicklist,menubar,query {   Channel Allow List   .Add {     set %allow $add($$?"Add a channel to my Allow List:").allow     echo 4 -at * $! has been added to my allow list!   }   .Del {     set %allow $add($$?"Remove a channel from my Allow List:").dis     echo 4 -at * $! has been removed from my allow list!   } }

How to use
  • Right click on any of the mIRC window for the popup prompt called Channel Allow List You can add and delete a channel from there. The script will only trigger on the added channels
  • If you would like to change the kick reason just change the Banned on the code and type the reason you want Big Grin



Attached Files
.mrc   Auto kick on ban.mrc (Size: 633 bytes / Downloads: 824)
Print this item

  Clone Scanner
Posted by: Omar - 07-11-2011, 01:09 PM - Forum: mIRC - Replies (7)

  • This addon will let you see all the clones from the users in a specify channel.

Example

Quote:
  •   ----------------- #20_something Clones Scan ----------------
                        - Clones from E9EA8C.4376EB.DBD858.502B3B
                        - 1. Alberto (irc)
                        - 2. Bigbanana (irc)
                        - Clones from 6C196A.18A1A8.D3A2C7.967CAB
                        - 1. BaDBoY- (CSOHBET)
                        - 2. C-E-M (asdT)
                        - Clones from ABABA2.89A482.2A31DC.0993E9
                        - 1. Bonaparte_ist (Java)
                        - 2. istanbul_man (Java)
                        - Finished scanning for clones, 6 clones from 3 hosts found
                        -------------------- End Of Scan --------------------

How to load the addon on your mIRC script (choose either 1 or 2)
  • 1- Go on Tools on the MenuBar - Script Editor - Remote - File - New then copy the code down and paste it there then press Ok.

    2- Download the Clone Scanner.mrc down, Put it on the mirc folder and go on Tools on the MenuBar - Script Editor --- > Remote - File  - Load and then choose the place of the Clone Scanner.mrc and then press Open then Ok

Code

Code:
alias clonescan {   var %d = linesep $iif($active == Status Window,-s,$active)   if ((!$chan) && (!$1)) {     %d | echo -ca ctcp * Error: specify a channel to scan for clones! | %d     return   }   if (($1) && ($1 !ischan)) {     %d | echo -ca ctcp * Error: you are not on the channel you specified | %d     return   }   set %do_clonescan $iif($1,$1,$chan)   set %ds_clonescan $iif($active == Status Window,status,$active)   who %do_clonescan } alias -l clonescan2 {   var %i = 1,%a   var %tc = 0,%th = 0   var %chan = $1   linesep %chan   clonescan.echo -c ctcp %ds_clonescan 1-----------------4 %chan Clones Scan1 ----------------   while (%i <= $nick(%chan,0)) {     if ($ialchan($address($nick(%chan,%i),2),%chan,0) > 1) {       if ($istok(%a,$remove($address($nick(%chan,%i),2),*!*@),32)) {         inc %i         continue       }       inc %th       %a = $addtok(%a,$remove($address($nick(%chan,%i),2),*!*@),32)       var %b = 1       clonescan.echo -c info %ds_clonescan 1- Clones from4 $remove($address($nick(%chan,%i),2),*!*@) $+       while (%b <= $ialchan($address($nick(%chan,%i),2),%chan,0)) {         clonescan.echo -c info %ds_clonescan 1-1 %b  $+ . $ialchan($address($nick(%chan,%i),2),%chan,%b).nick ( $+ $ialchan($address($nick(%chan,%i),2),%chan,%b).user $+ )         inc %b         inc %tc       }     }     inc %i   }   if (%tc > 0) dec %tc   clonescan.echo -c ctcp %ds_clonescan 1-4 Finished scanning for clones, %tc clone $+ $iif(%tc != 1,s) from %th host $+ $iif(%th != 1,s) found   echo -a -------------------- 4End Of Scan1 --------------------   unset %ds_clonescan } alias -l clonescan.echo {   if ($3 == status) echo $1 $+ s $2 $4-   else echo $1- } raw 315:*: {   if (%do_clonescan == $2) {     unset %do_clonescan     clonescan2 $2     halt   } } raw 352:*: if (%do_clonescan) halt

How to use:
  • Just type /clonescan #channel and wait few seconds and then you will get all the clones on the channel.



Attached Files
.mrc   Clone Scanner.mrc (Size: 1.85 KB / Downloads: 1,105)
Print this item