mIRC Home    About    Download    Register    News    Help

Print Thread
Page 1 of 2 1 2
#25531 23/05/03 01:42 AM
Joined: May 2003
Posts: 1
B
Mostly harmless
OP Offline
Mostly harmless
B
Joined: May 2003
Posts: 1
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.

Joined: May 2003
Posts: 177
P
Vogon poet
Offline
Vogon poet
P
Joined: May 2003
Posts: 177
Not a bad idea, but this can be scripted easily by using RAW events.

Joined: Dec 2002
Posts: 2,809
C
Hoopy frood
Offline
Hoopy frood
C
Joined: Dec 2002
Posts: 2,809
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.

Joined: May 2003
Posts: 177
P
Vogon poet
Offline
Vogon poet
P
Joined: May 2003
Posts: 177
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?

Joined: Dec 2002
Posts: 2,809
C
Hoopy frood
Offline
Hoopy frood
C
Joined: Dec 2002
Posts: 2,809
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.

Joined: May 2003
Posts: 177
P
Vogon poet
Offline
Vogon poet
P
Joined: May 2003
Posts: 177
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?

Joined: Dec 2002
Posts: 2,809
C
Hoopy frood
Offline
Hoopy frood
C
Joined: Dec 2002
Posts: 2,809
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.

Joined: Feb 2003
Posts: 2,812
Hoopy frood
Offline
Hoopy frood
Joined: Feb 2003
Posts: 2,812
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


Well. At least I won lunch.
Good philosophy, see good in bad, I like!
Joined: Jan 2003
Posts: 154
B
Vogon poet
Offline
Vogon poet
B
Joined: Jan 2003
Posts: 154
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


- Wherever you go there you are.[color:lightgreen]
Joined: Feb 2003
Posts: 2,812
Hoopy frood
Offline
Hoopy frood
Joined: Feb 2003
Posts: 2,812
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


Well. At least I won lunch.
Good philosophy, see good in bad, I like!
Joined: Dec 2002
Posts: 2,809
C
Hoopy frood
Offline
Hoopy frood
C
Joined: Dec 2002
Posts: 2,809
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.

Joined: Jan 2003
Posts: 154
B
Vogon poet
Offline
Vogon poet
B
Joined: Jan 2003
Posts: 154
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.

Last edited by BoredNL; 24/05/03 01:51 AM.

- Wherever you go there you are.[color:lightgreen]
Joined: Dec 2002
Posts: 1,527
_
Hoopy frood
Offline
Hoopy frood
_
Joined: Dec 2002
Posts: 1,527
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 ..


D3m0nnet.com
Joined: Dec 2002
Posts: 699
N
Fjord artisan
Offline
Fjord artisan
N
Joined: Dec 2002
Posts: 699
"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

Joined: Feb 2003
Posts: 2,812
Hoopy frood
Offline
Hoopy frood
Joined: Feb 2003
Posts: 2,812
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.

Last edited by Raccoon; 24/05/03 04:42 AM.

Well. At least I won lunch.
Good philosophy, see good in bad, I like!
Joined: Dec 2002
Posts: 2,985
Hoopy frood
Offline
Hoopy frood
Joined: Dec 2002
Posts: 2,985
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

Joined: Dec 2002
Posts: 2,809
C
Hoopy frood
Offline
Hoopy frood
C
Joined: Dec 2002
Posts: 2,809
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.

Joined: Jan 2003
Posts: 154
B
Vogon poet
Offline
Vogon poet
B
Joined: Jan 2003
Posts: 154
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.

Last edited by BoredNL; 25/05/03 03:18 AM.

- Wherever you go there you are.[color:lightgreen]
Joined: Feb 2003
Posts: 2,812
Hoopy frood
Offline
Hoopy frood
Joined: Feb 2003
Posts: 2,812
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


Well. At least I won lunch.
Good philosophy, see good in bad, I like!
Joined: Dec 2002
Posts: 2,985
Hoopy frood
Offline
Hoopy frood
Joined: Dec 2002
Posts: 2,985
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.

Page 1 of 2 1 2

Link Copied to Clipboard