Skip to content

Make the bot more effecient #2

@dadepo

Description

@dadepo

The current implementation for picking a name from the YorubaName dictionary and tweeting it is not efficient.

Right now, the bot follows the following steps to tweet:

  1. Queries the YorubaName end point for 5000 names
  2. Randomly picks a name from the returned 5000 names
    • (by shuffling the returned array and picking the first element)
  3. Tweeting the picked name

Having to query the API for 5000 names, only to pick one to tweet is very inefficient.

Another thing being omitted is the status of the name to be tweeted. Currently, there is no check in place to ensure that the randomly selected name is actually in a PUBLISHED state. Only names in PUBLISHED state should be tweeted as those are the ones publicly available in the dictionary.

This GitHub issue is to note this short-comings and to provide a fix by implementing a more efficient way to retrieve name to be tweeted while taking into consideration the published state.

The current API of YorubaName does not make it straightforward to randomly pick a name, but a suggestion that would be more efficient than the current implementation would be to:

  1. Instead of using only the count query parameter on the /v1/names endpoint, use a combination of the following supported query parameters: page, count and state to build a more efficient query, eg:

v1/names?count=[random count with a reasonable upper limit]&page=[random selected page number]&state=PUBLISHED

Check the YorubaName Swagger API page to explore the available endpoints.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions