1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

`#`を含めて65文字のハッシュタグをBlueskyに投稿する方法

Last updated at Posted at 2024-03-03

#を含めて65文字のハッシュタグをBlueskyに投稿するTypeScriptコードを示します。コードでは、ByteSlicebyteStartbyteEndにそれぞれ065を設定し、tagに(#無しの)64文字の文字列を設定した上で、textに(#ありの)65文字の文字列を設定しています。

なお、serviceidentifierpasswordの値は、公式ドキュメントの例をそのまま使っています。適宜、書き換えて使ってください。

@ioriayaneさんのコメントを参考にして作成しました。ただし、コードに問題があった場合、責任は@mnoguにあります。

import { BskyAgent, Facet } from '@atproto/api'


const agent = new BskyAgent({
    service: 'https://bsky.social'
})

const main = async () => {
    await agent.login({
        identifier: 'example.com',
        password: 'hunter2'
    })

    const tag = '1234567890'.repeat(6) + '1234'

    const byteSlice = {
        byteStart: 0,
        byteEnd: tag.length + 1,
    }

    const facets: Facet[] = [
        {
            index: byteSlice,
            features: [{
                tag: tag,
                $type: 'app.bsky.richtext.facet#tag',
            }],
        },
    ]

    await agent.post({
        text: `#${tag}`,
        createdAt: new Date().toISOString(),
        facets: facets,
    })
}

main().then()

このコードでは、#を除くとハッシュタグが数字のみで構成されています。例えばRichTextを使うときなどに、数字のみだとハッシュタグとして扱われない可能性があります。扱われなかった場合は、1234567890を例えばa234567890に変えると動くかもしれません。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?