mIRC Homepage
Posted By: Brett_Erilane Gray names for away clients - 23/05/03 01:42 AM
Could you maybe make the names of away people different colors? Gray by default?

On GamesNET people are in the habit of changing thier nicks when they go away because usually people don't notice away messages.

Maybe also you could make it so that the away message is displayable on right-click of names.
Posted By: Prizm Re: Gray names for away clients - 23/05/03 01:57 AM
Not a bad idea, but this can be scripted easily by using RAW events.
Posted By: codemastr Re: Gray names for away clients - 23/05/03 02:22 AM
It's not easy to script at all, in fact it is near impossible. The only (portable) way to tell who on a channel is away is to /who #channel every 1-2 seconds. On large channels, this will lag you incredibly, and it could also possibly cause you to be flooded off the server. Thinking about it quickly, regardless of whether scripting is used or it is directly done in mIRC, either way, it really can't be done.
Posted By: Prizm Re: Gray names for away clients - 23/05/03 02:51 AM
Remember Microsoft Chat 2.5? I'm almost positive (it's been a while since I used it) that it displayed who was away and who wasn't by using a coffee cup near their nickname. How did Microsoft Chat 2.5 know when a user was away if it's "impossible" as you say?
Posted By: codemastr Re: Gray names for away clients - 23/05/03 02:56 AM
MS Chat isn't an IRC client, it is an IRCX client. Saying "Well MS Chat could do it" would be like saying "well AOL Instant Messenger can do it", just because one protocol supports it, does not mean all protocols support it.
Posted By: Prizm Re: Gray names for away clients - 23/05/03 03:01 AM
I don't know much about the IRCX protocol, but I take it that it has a way to determine if a user is away?
Posted By: codemastr Re: Gray names for away clients - 23/05/03 03:12 AM
Ok well I did some testing (I downloaded MS Chat 2.5), and I see it is not an IRCX feature, it is an MS Chat feature, and I can now tell you exactly how it does it, the answer is CTCP. When an MSChat user sets away, or returns it sends out a CTCP AWAY to the channel. For example, in MS Chat when I type /away testing it sends:
[Anonymous:#testing AWAY] testing

This is apparently to notify other MSChat clients to change the icon to a coffee cup, because if I type /ctcp #testing AWAY test, MSChat then changes codemastr's icon to a coffee cup and states that I'm away. Obviously this system is very flawed though, seeing as how when I sent the ctcp away, MSChat marked me as away even though I never really did /away, all I did was send the CTCP to the channel.

Additionally, if you /ctcp #testing AWAY it then returns your icon to the original and marks you as returned.

If you use MS Chat, all of this is hidden from you, but if you are using mIRC then the CTCP AWAYs become visible.
Posted By: Raccoon Re: Gray names for away clients - 23/05/03 03:25 AM
Define Away.

There are a half dozen different methods of telling whether a person has more or less left a discussion (topic, channel, server, network, keyboard, physical consciousness... take your pick). Some go by a person's idle time in their /whois or in their /ctcp finger, other's by the last time they spoke in that channel... or perhaps others are more concerned in how much that person has actually contributed to the conversation, before getting in a fuss over their presumed absence.

There are many figures you can retrieve from either the server or from more relevant sources (what your client sees in activity)... so no, it is not impossible to do, and probably not impractical if you're interested in only relevant data.

Easy? Probably not.

- Raccoon
Posted By: BoredNL Re: Gray names for away clients - 23/05/03 10:12 PM
It could do a "/who" of a channel every 5 minutes. That should be sufficient for all intents and purposes.. As most people are away for periods much longer than 5 minutes anyways..

"!seen" scripts help people to determine if a person is active or not. To see if they have an away msg up though, just do the '/who" every 5 min' thing. smile
Posted By: Raccoon Re: Gray names for away clients - 23/05/03 10:34 PM
a /who on the channel every 5 minutes is the least effective and most asinine method I've ever heard. the H/G flags in a /who response are inaccurate too, because they do not represent a person's /away status, unless you are on the same server as them. Performing /who on a channel, especially a large channel, is very resource intense for a server.. and every 5 minutes is simply inappropriate. performing a repetitious remote-server /whois is even more inappropriate and is not tolerated on may servers.

Consider having a channel of 100 people (a pretty small channel by most standards).
The average length of a single WHO response is around 160 characters. Lets just say 150.
You WHO a channel with 100 people in it, that means the server just sent you 15,000 bytes of data.
Now lets say all 100 people in the channel feel this away fad thing is too cool, so they're all WHOing the chan. That's 1,500,000 or 1.5 Megs of data.
Now lets say everyone's script is doing this every 5 minutes. In only one hour, the servers had to expend 30 megabytes to the channel for the purpose of AWAY STATUS. In one day, this amounts to ¾ of a GIG of USELESS traffic... which most of the time, nobody even paid any attention to all day.
___

Let me reiterate, just pay attention to what someone says in the channel. If they haven't spoken in the channel for a long time, then consider them as away. You can write a script to do this, mIRC even saves a user's idle time in the IAL.

- Raccoon
Posted By: codemastr Re: Gray names for away clients - 24/05/03 12:14 AM
DALnet, Undernet and possibly EFnet all have "/who limits" if your query will generate > X results, it is trimmed to X results. On DALnet I believe X = 250. So if you are in #chan and it has 1000 users, and you /who #chan, you will only receive a response for the first 250. That means the other 750 users, you have no way to determine if they are away or not; again, this is one of the many reasons why I said it is impossible, you'd be kicked off the server for flooding long before you managed to obtain any useful information.
Posted By: BoredNL Re: Gray names for away clients - 24/05/03 01:48 AM
ok, the "/who" suggestion wasn't very well thought out.. I've never really analyzed the info that's stored in a "/who" query, so I didn't realize it didn't even show whether the person was away or not. (I assumed it was viable when codemastr suggested it as 'the way' of getting away info on everyone in the channel)

From what I can see, I don't think there is any viable solution using the current IRC protocol. Unless there is a "user list" that is limited to like 10 people, and "/whois"s are done on them periodically.

Raccoon: If you calculate pretty much any little thing that is transmitted by a server then show how much it is for the day, it will seem like a lot. If you're going to show examples like that, you need to give people a means of comparison, not just leave it at that.. That's useless statistics.

--edit
I forgot to mention that perhaps mIRC could just gray out names that haven't shown activity in that channel for a certain amount of time, or perhaps go by their global idle (for all common channels, query windows, notices, or ctcps). (the "greyed out" color could be set in the colors setup of course). The name could be grayed out in the nick list, query windows, channel windows, or all of the above.
Posted By: _D3m0n_ Re: Gray names for away clients - 24/05/03 02:04 AM
well i dont know how anyone else would solve this same issue but me personally ive made a nicklist for my mirc that uses away icons for away users ..... but i go about this differently than suggested so far ..... so ill explain my outcome ......

when i enter the channel i who the entire room only that time ........ i set the away nick who contain the g in their who into a variable which gets read and if the nick is in that list it sets the icon for it ... then i /who a user who changes his/her nick ...... in most cases ppl who are away they change thier nick also ....... so that cuts down on flooding a server with /who of an entire room ....... i would suppose u can also /who a specific nick when they join but id like to assume that if they joined your channel they are not infact away

anyhow thats my two cents of a solution that i come up with .. and codemastr i didnt simply address this to u . i just clicked the bottom poster of the thread ..
Posted By: Nimue Re: Gray names for away clients - 24/05/03 02:43 AM
"I forgot to mention that perhaps mIRC could just gray out names that haven't shown activity in that channel for a certain amount of time,"
You mean something like -> Address book > Nick > Add > "Idle time: [ ] mins"? smile
Posted By: Raccoon Re: Gray names for away clients - 24/05/03 03:49 AM
Raccoon: If you calculate pretty much any little thing that is transmitted by a server then show how much it is for the day, it will seem like a lot. If you're going to show examples like that, you need to give people a means of comparison, not just leave it at that.. That's useless statistics.

Actually, these are not useless statistics... It is a script writer's responsibility to take into consideration how their script will effect a server or network on a global scale. Just like programming something to make efficient use of CPU usage, you have weigh desire vs need and take resources (and their friendly use) into consideration.

I wasn't aware Khaled already added what Nimue pointed out, but thats the best method to use. Uses zero server resources, and more accurate as far as the channel is concerned.

- Raccoon

PS. I forgot to give my example so you can compare with...
Recap: Every 5 minutes you have 100 people querying 100 lines from the server at 150 characters per line. Now imagine a channel with 100 people in it, and each person says 100 lines every 5 minutes. That's 2000 lines a minute, or 33 lines a second.
Posted By: Watchdog Re: Gray names for away clients - 24/05/03 04:29 AM
Actually, these are not useless statistics... It is a script writer's responsibility to take into consideration how their script will effect a server or network on a global scale.

Agreed 100%. grin
Posted By: codemastr Re: Gray names for away clients - 24/05/03 05:19 PM
Well your solution doesn't in fact really solve anything, you still execute a /who #chan when you join, which can either a.) flood you off or b.) produce incomplete results, on large channels. You also make a great deal of assumptions. I never change my nickname when I'm away, I don't really see the point. If someone is talking to me, sees I'm not responding, then they can just /whois me and see that I'm away. Additionally, I often do join channels when I'm away. When I set /away it doesn't necessarily mean I'm away from my computer, it means I'm busy and I don't want to talk. But if I need to talk to someone about something important, I will join a channel to talk about it. For example, if I'm away because I'm coding something, if I needed help with something, I'll join a coding channel and ask, I won't remove my away status so that I can ask, then reset it, and I'm sure many others do the same.
Posted By: BoredNL Re: Gray names for away clients - 25/05/03 03:02 AM
You both didn't understand what I meant by that..

Statistics are only useful if you understand them. The only way anybody can understand statistics is by comparison. If I say it costs 5865 Yen for a brand new bike (a Mongoose) in Japan, how would you know if that's a lot or not if you don't compare it to a medium of exchange that you understand already? (that's assuming that you don't know the value of yen). A simple minded person would say "WOW, 5,865 YEN IS A LOT! THAT'S A BIG NUMBER, SO IT MUST BE A LOT!!" Thats 50 American dollars. That would be pretty cheap actually. What I was saying is that "big number" statistics are useless unless there is a means of comparison. You can convince all the morons you want with "big number" statistics, but that still doesn't make it any more of a useful statistic, it will just get a bunch of morons staring at their monitors in complete and utter astonishment without even knowing what the heck it is they're looking at..

--- edit
I'm not saying the statistic you provided are useless. I'm saying that you didn't provide a means of comparison, such as the current normal traffic produced by the average IRC user, taking into account the average amount of channels joined, the average amount of traffic of those channels, and the outgoing traffic from the user to the server. If you can't state what these statistics are, then your "facts" are useless and cannot be applied in any viable way.

To clarify even more:

The actual importance of your statistics can only be guessed. One cannot take those statistics and actually create a statistical workup of server bandwidth useage and come up with an "allowable" average amount of bandwidth usage that a user should generate using scripts. It only suggests that scripters should go easy on how much bandwidth their scripts should force servers to use.. To me, the "statistics" you provided were useless. The suggestion, however, wasn't.
Posted By: Raccoon Re: Gray names for away clients - 25/05/03 06:10 AM
You neglected to read my post. I gave the comparison you wanted.

Recap: Every 5 minutes you have 100 people querying 100 lines from the server at 150 characters per line. Now imagine a channel with 100 people in it, and each person says 100 lines every 5 minutes. That's 2000 lines a minute, or 33 lines a second.

If you know of any channel that is talking at the rate of 33 lines per second, then I applaud your reading speed... but you still have to work on comprehension. I hope there's no further need to argue about this.

- Raccoon
Posted By: Watchdog Re: Gray names for away clients - 25/05/03 06:30 AM
I understood your comment perfectly. What I don't understand is why you don't think Nimue's suggestion is worth a try. I've been doing the grey-out of nicks that way since the feature was included in mIRC and if someone isn't talking it is generally an indication that they are not currently watching the screen and therefore are effectively 'away'. I also use the mIRC nick colours for OP, HOP, VOP, UOP, Normal Users, Notify and Ignore.

Beats having thousands of users pounding the bejesus out of the server just for the sake of a pretty GUI. Some scripts out there send a who or whois every time a user joins, though mainly for IRCop scanners, and it is not only labourious on the server (in sufficient numbers) but just plain wasteful. I don't know if this next bit was mentioned before but I'll say it anyway, there is no 100% accurate way to gauge 'away' users. I, like codemastr, often don't bother to change nick or mark myself "/away" - it's a bad habit but that's life. The best way is the way mIRC already does it. Time actual participation on the channels you are in.
Posted By: BoredNL Re: Gray names for away clients - 25/05/03 05:11 PM
I was commenting on the statistics you posted first, not the secondary set of numbers you listed.
Posted By: BioDroid Re: Gray names for away clients - 06/06/03 02:37 AM
Hey, why dont use alot more easier method:
The client tells the network whenever its away or not, its like "auto away nick" and this is bounced to all users in that channel. It would not take much bandwidth at all.
Posted By: Raccoon Re: Gray names for away clients - 06/06/03 04:43 AM
Most Auto-Away scripts use this (rather annoying) method to announce when a user is away.

Client to Server: PRIVMSG #channel :ACTION is Away (Auto-Away after 10 minutes)
Server to Each Client on #channel: :SomDumFoo!:Lamest@dummy.aol.com PRIVMSG #channel :ACTION is Away (Auto-Away after 10 minutes)

Client to Server: PRIVMSG #channel :ACTION is Back (After 15 minutes Away)
Server to Each Client on #channel: :SomDumFoo!:Lamest@dummy.aol.com PRIVMSG #channel :ACTION is Back (After 15 minutes Away)

Personally, I prefer to use the SERVER /away command, and inform only those who are specifically interested in my away status.

Client to Server: AWAY Absorbing some natural light.
Server to Single Client who types /whois Raccoon or /msg Raccoon <text>
Raccoon_ is away: Absorbing some natural light. (mirc format)

This non-intrusive Away Status is most universally accepted, least bandwidth, and least server resource using method... and comes already built into mIRC and the IRCd (server). No scripting required, just send your /away <reason> command to the server, and /away when you return to unset your Away Status.

- Raccoon
Posted By: _D3m0n_ Re: Gray names for away clients - 06/06/03 09:57 PM
personally id like to see $nick(#chan,N).away ..... this would be nice if it was added into the ial somehow..... altho it would make alot of things almots impossible to get away unless u whois or who the users
© mIRC Discussion Forums