JavaScript is required to use Bungie.net

Group Avatar

BungieNetPlatform

"Updates, discussions, and documentation of the BungieNetPlatform API."

Request Join
originally posted in:BungieNetPlatform
Edited by lowlines: 2/5/2016 4:50:52 AM
1

An Unofficial Guide to Clan/Group Management

So lately I've been trying to work on my clan without much luck, which has caused me to start looking at the GroupService Endpoints. I've also made a significant effort to clean up my output code for the [url=http://bungienetplatform.wikia.com/wiki/Endpoints]Endpoints page[/url] I update whenever I spot changes on Bungie.net. If you are someone who's in the higher ups of your clan and/or have an app that provides clan features, or if you happen to be one of those clans who gets featured and suddenly has more members than they can manage (I recall seeing some posts on this a while back), hopefully this post will be of some help to you. Clan interactions on Bungie.net are mainly kept inside [url]https://www.bungie.net/Scripts/bungienet/clans/clans.min.js[/url], which is where the majority of my information on how these endpoints work was gathered. To that end, I have filled out almost every single GroupService endpoint on the Wikia except for a few unknowns and a lot of GetGroup/Thing endpoints which do much of the same thing just with slightly different inputs. Group Admins have a bunch of actions they need to be able to do, but not all these currently have a visible place on Bungie.net (or perhaps hard to find since I haven't found them yet) and/or have quirks such as member paging which seems to be slightly buggy on my clan where one or two users gets lost between the pages. [url=http://bungienetplatform.wikia.com/wiki/EditGroupMembership]EditGroupMembership[/url] allows Admins to promote and demote group members from being Admins. I haven't tried using memberType 2 to see if you can promote someone to founder here, but I doubt it will work anyway. Interestingly, while scrolling through #Clans there was one such post where someone had somehow been demoted from being a founder and the only way to reinstate them as a founder (according to the Mentor that replied) was to demote all other admins, get the current founder to leave the group, forcing it to promote the remaining admin to founder status (then requiring you to re-promote all the other admins after that). That would be a crazy thing to do in a significantly larger clan through the current clans interface O.o There are some other endpoints that look to specifically deal with managing founders (OverrideFounderAdmin, and DesignateClanFounderForMigration), but I have a feeling these are locked away to super admins, or just aren't used anywhere at the moment :/ It's also worth noting that this endpoint seems to accept clanPlatformType as a parameter, but as far as I can tell, it doesn't do anything (thankfully there are other endpoints for clan management, see further down). Next up is [url=http://bungienetplatform.wikia.com/wiki/BanMember]BanMember[/url]. This can also be called muting as it effectively prevents users from from posting and such for a specified amount of time. [url=http://bungienetplatform.wikia.com/wiki/UnbanMember]UnbanMember[/url] does the reverse, pretty straight forward. [url=http://bungienetplatform.wikia.com/wiki/KickMember]KickMember[/url] is probably the most useful one for large clans because it can be used at both the group level and the individual clan level. So say you have hit 100 Clan Members and need to remove members (that no longer play etc) to bring in new clan members, specify the clanPlatformType parameter and it will kick them down to the group level. Have this set to zero and it will kick them completely from the group. As far as I can tell when I look at my own clan's tools, this functionality is only available at the group level :p [url=http://bungienetplatform.wikia.com/wiki/InviteGroupMember]InviteGroupMember[/url] sends an invitation to a specified user to join the group. This is the endpoint that gets fired when you click "Invite to Group" on someone's profile. What's cool about this one is actually the next endpoint. [url=http://bungienetplatform.wikia.com/wiki/InviteClanMember]InviteClanMember[/url] works exactly the same as the above one except it allows you to specify which Clan to invite them too. So instead of making your members having to log into Bungie.net on a PC > go the clan page and assign the clan to their platform, an admin could send them a PM with an approval link and BAM! They will be in the clan. I haven't tested this on non-group members but even so, using this in conjunction with Kick Member (and say a list with where you can select multiple users at once and fire a queue script) would give your admins some powerful management tools to take better control of their clans. So these are all actions to do with changing a member's status within the clan. Now what about getting members? [url=http://bungienetplatform.wikia.com/wiki/GetMembersOfGroupV3]GetMembersOfGroupV3[/url] is like your robust endpoint for getting members. Allowing you to page up to 50 members at a time and optionally filter by clanMembershipType or memberType (1=Admins, 0=Non-Admins, 2=Founders), etc. It also accepts a nameSearch parameter...which doesn't seem to work :/ There are also some quirks I've noticed with the results it returns. The memberType property doesn't always return 1 for admins, particularly when you set some of the filters. Possibly this would have to do with clans actually being setup as sub-groups with their own admins and founders and such, but it isn't very clear. Also, unless I'm mistaken, member results for all GetMember-type endpoints don't return which clanMembershipTypes they have been assigned to. I feel this information should be included as there is potential there for making a lot more requests than necessary, since you can only determine clanMembership through filtered the results. Here are some other GetMembers-type endpoints: [url=http://bungienetplatform.wikia.com/wiki/GetPendingMembershipsV2]GetPendingMembershipsV2[/url] [url=http://bungienetplatform.wikia.com/wiki/GetBannedMembersOfGroupV2]GetBannedMembersOfGroupV2[/url] [url=http://bungienetplatform.wikia.com/wiki/GetAdminsOfGroupV2]GetAdminsOfGroupV2[/url] [url=http://bungienetplatform.wikia.com/wiki/GetMembersOfClan]GetMembersOfClan[/url] [url=http://bungienetplatform.wikia.com/wiki/GetPendingClanMemberships]GetPendingClanMemberships[/url] Version 2 endpoints (V2) and the Clan endpoints seem to not include itemsPerPage as a supported parameter, effectively restricting results on these to the default 10. I haven't created a separate Wikia page for version 1 endpoints as I assume the intension here was to eventually replace them, but they should still work if you want to return more results per page. 10 results per page would be ridiculous for a 500+ group without any kind of searchByName feature. And here's some approval/denial endpoints: [url=http://bungienetplatform.wikia.com/wiki/ApproveGroupMembershipV2]ApproveGroupMembershipV2[/url] [url=http://bungienetplatform.wikia.com/wiki/ApprovePendingForList]ApprovePendingForList[/url] [url=http://bungienetplatform.wikia.com/wiki/ApproveAllPending]ApproveAllPending[/url] [url=http://bungienetplatform.wikia.com/wiki/DenyGroupMembershipV2]DenyGroupMembershipV2[/url] [url=http://bungienetplatform.wikia.com/wiki/DenyPendingForList]DenyPendingForList[/url] [url=http://bungienetplatform.wikia.com/wiki/DenyAllPending]DenyAllPending[/url] There's a ton of endpoints in the GroupServices, I just wanted to point out there is stuff in there that could very quickly improve upon the current state of clan management and I have yet to come across any third party developers attempting to tackle this (out in the open at least). Perhaps I have stumbled upon some WIP endpoints again for new official Clan UI that will arrive in the (near/far) future. For now, I hope this helps anyone who may be trying to work on this :) [edit] Also this is unrelated, but as part of the privacy settings, there really should be an option to set your timezone/region. Very challenging recruiting for a small clan when you don't know who's from what timezone. It's also one of the most important bits of information a lot of people posting into #Clans forget to include. If this was included in a user's information, you can then make use of that in a clan/recruitment setting :p [edit2] [url=http://bungienetplatform.wikia.com/wiki/ReviewInvitationDirect]ReviewInvitationDirect[/url] is an endpoint that I missed (because it is actually part of MessageServices), which is needed to approve clan membership requests.

Posting in language:

 

Play nice. Take a minute to review our Code of Conduct before submitting your post. Cancel Edit Create Fireteam Post

  • Edited by sebg0nz: 7/26/2017 5:02:23 PM
    This is exactly the post I've been looking for. I'm trying to get ready for the D2 clan influx, and we're looking to clean up some members that aren't active anymore. My question is this: can I pass these parameters through the browser without having to actually create a script for it? I basically just need to be able to view who is in the clan/group and then pass that info along to my other group admins (via email or slack, etc). I'm not incredibly good with programming, but can usually fumble my way through things.

    Posting in language:

     

    Play nice. Take a minute to review our Code of Conduct before submitting your post. Cancel Edit Create Fireteam Post

You are not allowed to view this content.
;
preload icon
preload icon
preload icon