createChannel
⚠️
Channels have been deprecated in favor of Contexts. Check out createContext
.
Will create a new channel in an existing group. Can only be used by the admin of a group
How to use?
const res = await orbis.createChannel(group_id, options);
Parameters
group_id
- (stream) ID of the group in which this channel should beoptions
- Object which contains the details of the channelgroup_id
-string
ID of the group this channel is part ofname
-string
Name of the channeldescription
-string
Description of the channeltype
-string
Display type for the channel, can be:chat
- If the channel should be displayed as a group chat like Discordfeed
- If the posts shared are longer with comments and threads
encryptionRules
-object
optional
A JSON object containing the optional encryption rules for this channel. Those rules must then be passed as a parameter to the createPost function.type
-string
The type of encryption needed, only token-gated is supported for now.chain
-string
The chain on which the smart contract is. Must be one of those in lowercasecontractType
-string
The type of contract being used, must be ERC20, ERC721 or ERC1155.contractAddress
-string
The address of the contract.minTokenBalance
-string
The minimum balance required to decrypt the post (in WEI for ERC20).tokenId
-string
optional
Used only for ERC1155 tokens to represent the tokenId used.
vcAccessRules
-array
optional
The list of credentials requested to share content in this channel.key
-string
The key to check in the credential JSON object.id
-string
The value expected for the keyrule
-string
Can be = or includes. It will be used to check if the key is equal to the id or if it should simply include it.issuer
-string
The did issuing the credential.
data
-object
optional
Can be used to attach some custom data to a channel
Returns
{
status: 200,
doc: "kjzl6cwe1...e4wvxhiqj",
result: "Success creating TileDocument."
}
Examples
Access Gating via Gitcoin Passport
Creates a channel that requires users to have a Github Credential in their Gitcoin Passport.
const res = await orbis.createChannel(
"kjzl6cwe1...e4wvxhiqj",
{
group_id: "kjzl6cwe1...e4wvxhiqj",
pfp: "https://...",
name: "developers-only",
description: "Channel restricted to developers.",
"vcAccessRules": [
{
"id": "GitHub",
"key": "provider",
"rule": "=",
"issuer": "did:key:z6mkghvghlobledj1bgrlhs4lpgjavbma1tn2zcryqmyu5lc"
}
]
}
);