Nobody's Perfect, Man

    twitter-snowflake

    1.0.10 • Public • Published

    This package enables simple conversion of Twitter Snowflake ID's (or tweet ID's) into Javascript Date objects or vice versa.

    This is useful when using Twitter API endpoints like Standard/Recent Search: https://developer.twitter.com/en/docs/twitter-api/v1/tweets/search/api-reference/get-search-tweets

    One of the optional parameters in the API endpoint above is the since_id which is a Snowflake/tweet id that Twitter generates using the time of creation. This means you can generate a Snowflake ID with any date/time and use it with the API endpoint.

    For example if you want to get tweets from the past 24 hours you would:

    1. Generate a Javascript Date object where the day is yesterday
    2. Convert the Javascript Date object to a Snowflake ID using this package
    3. Use the ID in the Search API endpoint above in the since_id parameter.

    Using this process avoids having to loop/paging through responses from the Twitter API until getting to the desired date (and having to keep track of the current date in the loop).

    This package can also be used to get a Date from a Snowflake ID but use of this feature will be rare because responses from the Twitter API usually include the "created_at" parameter for returned tweets.

    Snowflake IDs are 64-bit integers where the first 42 bits are a millisecond timestamp.

    Installation:

    npm install twitter-snowflake
    

    Getting Started:

    import {snowflakeToDate, dateToSnowflake} from 'twitter-snowflake';
    
    // creates a new javascript date object where the day is yesterday
    let now = new Date();
    let yesterday = new Date();
    yesterday.setDate(now.getDate()-1);
    
    // converts the javascript date to a tweet id which can be used with the API
    let since_id = dateToSnowflake(yesterday)
    

    Install

    npm i twitter-snowflake

    DownloadsWeekly Downloads

    17

    Version

    1.0.10

    License

    MIT

    Unpacked Size

    3.56 kB

    Total Files

    3

    Last publish

    Collaborators

    • timaayy