Thread Tools Display Modes
04-03-12, 03:58 PM   #1
cormanthor
A Warpwood Thunder Caller
 
cormanthor's Avatar
AddOn Compiler - Click to view compilations
Join Date: Nov 2008
Posts: 97
Channel List addon

My wife and I are starting the IronMan Challenge, and as such, we typically don't have a guild to keep up with our fellow challengers. Thus we've been using the "iron" channel.

I'm looking for an addon that lists the members of a chat channel. I would like for it to display the list non-interactively on the screen, updating periodically (theoretically with every "joined"/"left" in the channel).

Any help would be awesome!
__________________
Some days it's just not worth chewing through the restraints...
  Reply With Quote
04-03-12, 04:07 PM   #2
Seerah
Fishing Trainer
 
Seerah's Avatar
WoWInterface Super Mod
Featured
Join Date: Oct 2006
Posts: 10,860
Just to clarify, something other than the slash command, yes?
__________________
"You'd be surprised how many people violate this simple principle every day of their lives and try to fit square pegs into round holes, ignoring the clear reality that Things Are As They Are." -Benjamin Hoff, The Tao of Pooh

  Reply With Quote
04-03-12, 09:55 PM   #3
cormanthor
A Warpwood Thunder Caller
 
cormanthor's Avatar
AddOn Compiler - Click to view compilations
Join Date: Nov 2008
Posts: 97
Yes, definitely. I am looking for a list of names, preferably class colored (optional), in a frame with no background/border. The frame should be click-through so as not to interfere with gameplay. The overall effect would be to duplicate /chatlist without the visible interactive frame.

I have something similar already up and running for my RealID friends. It's basically the same system, except the method for handling ListChannelByName() is beyond my current coding experience.

I can handle frame creation / placement / font / etc., but the method for getting the data, awaiting the return of separate events, filtering out the data from the events, and storing that in a non-duplicated array while not making boat-loads of garbage is over my head slightly.

So if I could get some event handler / info storage function(s), that would probably be enough.
__________________
Some days it's just not worth chewing through the restraints...
  Reply With Quote
04-03-12, 10:03 PM   #4
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
You can do this, more or less, with the default UI. Open the channels frame (there's a tab for it at the bottom of the friends frame) and click the speaker icon next to the channel name to enable voice chat for the channel. It doesn't matter if you're actually using voice chat, just that it's enabled. You might need to be the channel leader or a channel moderator to enable voice chat for it. Once voice chat is enabled for the channel, you can click on the channel name and drag it out of the window to open a pullout window listing the people in the channel.

I did not test this with other players in the channel, though, so it may only show people who have voice chat enabled. If someone is reluctant to enable voice chat, they should be able to do so without any visible (or audible!) effect by turning voice chat on, and then turning the microphone off, turning the mode to "voice activated" (so there's no key bound to push-to-talk), and setting the voice volume to zero.

If you still want an addon for it, take a look in ChannelFrame.lua to see the functions that handle updating the pullout roster frame in the default UI.
  Reply With Quote
04-04-12, 12:48 AM   #5
semlar
A Pyroguard Emberseer
 
semlar's Avatar
AddOn Author - Click to view addons
Join Date: Sep 2007
Posts: 1,060
As far as I can tell none of these channel events actually fire for my trial account, so I can't say if any of this actually works, but I'm going to leave it here anyway.

There's an event called CHANNEL_COUNT_UPDATE that supposedly returns the id of the channel and the number of members.

So all you should need to do is check if the channel is the one you want to watch, loop through the members and collect their info.

Lua Code:
  1. local f = CreateFrame("frame")
  2. f:RegisterEvent("CHANNEL_COUNT_UPDATE")
  3. f:SetScript("OnEvent", function(self,event,id,count)
  4.     local channel = GetChannelDisplayInfo(id)
  5.     if channel ~= "iron" then return end
  6.     for i=1,count do
  7.         local name = GetChannelRosterInfo(id,i)
  8.         -- str:SetText(name) or something
  9.     end
  10. end)

I think class colors are going to be more trouble than they're worth for this particular venture, but you could store a table of [names] = class whenever you get the opportunity to collect them.
  Reply With Quote
04-04-12, 03:25 AM   #6
cormanthor
A Warpwood Thunder Caller
 
cormanthor's Avatar
AddOn Compiler - Click to view compilations
Join Date: Nov 2008
Posts: 97
Thank you. I'll give both of these options a try later today. I must have missed GetChannelRosterInfo entirely when I went through the channel functions over the weekend.
__________________
Some days it's just not worth chewing through the restraints...
  Reply With Quote

WoWInterface » AddOns, Compilations, Macros » AddOn Search/Requests » Channel List addon

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off