Feed
The feed is a list of all the activites that have happened on Crossbell.
Feed Types
Here is a list of all the feed types and what they mean.
export enum FeedType {
  CREATE_CHARACTER = 'CREATE_CHARACTER',
  UPDATE_CHARACTER_HANDLE = 'UPDATE_CHARACTER_HANDLE',
  UPDATE_CHARACTER_METADATA = 'UPDATE_CHARACTER_METADATA',
  UPDATE_PRIMARY_CHARACTER = 'UPDATE_PRIMARY_CHARACTER',
  TRANSFER_CHARACTER = 'TRANSFER_CHARACTER',
  ADD_OPERATOR = 'ADD_OPERATOR',
  REMOVE_OPERATOR = 'REMOVE_OPERATOR',
  CREATE_LINKLIST = 'CREATE_LINKLIST',
  UPDATE_LINKLIST = 'UPDATE_LINKLIST',
  TRANSFER_LINKLIST = 'TRANSFER_LINKLIST',
  LINK = 'LINK',
  UNLINK = 'UNLINK',
  POST_NOTE = 'POST_NOTE',
  POST_NOTE_FOR_NOTE = 'POST_NOTE_FOR_NOTE',
  POST_NOTE_FOR_ANY_URI = 'POST_NOTE_FOR_ANY_URI',
  POST_NOTE_FOR_ADDRESS = 'POST_NOTE_FOR_ADDRESS',
  POST_NOTE_FOR_LINKLIST = 'POST_NOTE_FOR_LINKLIST',
  POST_NOTE_FOR_CHARACTER = 'POST_NOTE_FOR_CHARACTER',
  POST_NOTE_FOR_ERC721 = 'POST_NOTE_FOR_ERC721',
  UPDATE_NOTE = 'UPDATE_NOTE',
  LOCK_NOTE = 'LOCK_NOTE',
  DELETE_NOTE = 'DELETE_NOTE',
  MINT_NOTE = 'MINT_NOTE',
  TRANSFER_MINTED_NOTE = 'TRANSFER_MINTED_NOTE',
  SET_LINK_MODULE = 'SET_LINK_MODULE',
  SET_MINT_MODULE = 'SET_MINT_MODULE',
  TIP_CHARACTER = 'TIP_CHARACTER',
}CREATE_CHARACTER- A character was created.UPDATE_CHARACTER_HANDLE- A character's handle was updated.UPDATE_CHARACTER_METADATA- A character's metadata was updated.UPDATE_PRIMARY_CHARACTER- A character's primary character was updated.TRANSFER_CHARACTER- A character was transferred.ADD_OPERATOR- An operator was added to a character.REMOVE_OPERATOR- An operator was removed from a character.CREATE_LINKLIST- A linklist was created.UPDATE_LINKLIST- A linklist was updated.TRANSFER_LINKLIST- A linklist was transferred.LINK- A link was created.UNLINK- A link was removed.POST_NOTE- A note was posted.POST_NOTE_FOR_NOTE- A note was posted for another note.POST_NOTE_FOR_ANY_URI- A note was posted for any URI.POST_NOTE_FOR_ADDRESS- A note was posted for an address.POST_NOTE_FOR_LINKLIST- A note was posted for a linklist.POST_NOTE_FOR_CHARACTER- A note was posted for a character.POST_NOTE_FOR_ERC721- A note was posted for an ERC721 token.UPDATE_NOTE- A note was updated.LOCK_NOTE- A note was locked.DELETE_NOTE- A note was deleted.MINT_NOTE- A note was minted.TRANSFER_MINTED_NOTE- A minted note was transferred.SET_LINK_MODULE- A link module was set.SET_MINT_MODULE- A mint module was set.TIP_CHARACTER- A character was tipped.
Get Feed
Get Feed of a Character
For example, we want to get the feed of character 42:
const { list } = indexer.feed.getManyByCharacter(42)You can filter the feed by type:
import { FeedType } from 'crossbell'
 
const { list } = indexer.feed.getManyByCharacter(42, {
  type: [FeedType.CREATE_CHARACTER, FeedType.UPDATE_CHARACTER_HANDLE],
})Note that if you want to get the feed of posting notes, you have to specify all the POST_NOTE* types:
import { FeedType } from 'crossbell'
 
const { list } = indexer.feed.getManyByCharacter(42, {
  type: [
    FeedType.POST_NOTE,
    FeedType.POST_NOTE_FOR_NOTE,
    FeedType.POST_NOTE_FOR_ANY_URI,
    FeedType.POST_NOTE_FOR_ADDRESS,
    FeedType.POST_NOTE_FOR_LINKLIST,
    FeedType.POST_NOTE_FOR_CHARACTER,
    FeedType.POST_NOTE_FOR_ERC721,
  ],
})Timeline: Get Feed of a Character's Following
In real-world social media, you can follow other users. In Crossbell, you can follow other characters with link.linkCharacter (opens in a new tab).
If a character 42 follows a group of characters, we can get the feed of the characters 42 follows:
const { list } = indexer.feed.getManyByCharacterFollowing(42)This is commonly called the "home feed" or "timeline" in social media.