MCPcopy Create free account
hub / github.com/Preloading/TwitterAPIBridge / GetTopicSuggestedUsers

Function GetTopicSuggestedUsers

twitterv1/discover.go:298–351  ·  view source on GitHub ↗

https://web.archive.org/web/20120516160741/https://dev.twitter.com/docs/api/1/get/users/suggestions/%3Aslug

(c *fiber.Ctx)

Source from the content-addressed store, hash-verified

296
297// https://web.archive.org/web/20120516160741/https://dev.twitter.com/docs/api/1/get/users/suggestions/%3Aslug
298func GetTopicSuggestedUsers(c *fiber.Ctx) error {
299 var err error
300 // limits
301 limit := 20
302 if c.Query("limit") != "" {
303 limit, err = strconv.Atoi(c.Query("limit"))
304 if err != nil {
305 return ReturnError(c, "Invalid limit", 195, fiber.StatusBadRequest)
306 }
307 }
308
309 // auth
310 _, pds, _, oauthToken, err := GetAuthFromReq(c)
311 if err != nil {
312 return MissingAuth(c, err)
313 }
314
315 slug := c.Params("slug")
316 if slug == "" {
317 return ReturnError(c, "Missing slug", 195, fiber.StatusBadRequest)
318 }
319
320 name, exists := topicLookup[slug]
321 if !exists {
322 return ReturnError(c, "Invalid slug", 195, fiber.StatusBadRequest)
323 }
324
325 recommendedUsers, err := blueskyapi.GetTopicSuggestedUsers(*pds, *oauthToken, limit, slug)
326
327 if err != nil {
328 fmt.Println("Error:", err)
329 return HandleBlueskyError(c, err.Error(), "app.bsky.unspecced.getSuggestedUsers", GetTopicSuggestedUsers)
330 }
331
332 usersDID := []string{}
333 for _, user := range recommendedUsers {
334 usersDID = append(usersDID, user.DID)
335 }
336
337 usersInfo, err := blueskyapi.GetUsersInfo(*pds, *oauthToken, usersDID, false)
338 if err != nil {
339 fmt.Println("Error:", err)
340 return HandleBlueskyError(c, err.Error(), "app.bsky.actor.getProfiles", GetTopicSuggestedUsers)
341 }
342
343 topic := bridge.TopicUserSuggestions{
344 Name: name,
345 Slug: slug,
346 Size: len(usersInfo),
347 Users: usersInfo,
348 }
349
350 return EncodeAndSend(c, topic)
351}

Callers

nothing calls this directly

Calls 5

ReturnErrorFunction · 0.85
GetAuthFromReqFunction · 0.85
MissingAuthFunction · 0.85
HandleBlueskyErrorFunction · 0.85
EncodeAndSendFunction · 0.85

Tested by

no test coverage detected