これをリファクタリングして、理解しやすくなり、バグが発生しやすく、パフォーマンスが高まり、ベストプラクティスを順守します。

`` python
async def _get_thread_as_script（self、context：boltcontext、ts、channel_id）：
        retval = ""

        返信= context.client.conversations_replies（
            Channel = channel_id、
            ts = ts、
            inclusive = true、
            制限= 100、
            token = context.user_token、
        ））
        users = {r ["user"] for r in Replies ["メッセージ"] if "user" in r}
        resulation_users = {
            R2
            返信のRの場合[「メッセージ」]
            rの「反応」の場合
            r ["反応"]での反応の場合
            反応のR2の場合[「ユーザー」]
        }
        users = users.union（Reaction_users）
        usernames = await self.user_cache.get_usernames（context、users）

        返信のrの場合["メッセージ"]：
            username = usernames [r ["user"]]
            retval += f "*{username}*：{r ['text']} \ n \ n"

            Rの「反応」の場合：
                retval += await self._get_Reactions_as_text（context、r ["Reactions"]））

        返品retval
`` `
Refactor this to make it easier to understand, less bug prone, more performant, and adhere to best practices. 

```python
async def _get_thread_as_script(self, context: BoltContext, ts, channel_id):
        retval = ""

        replies = await context.client.conversations_replies(
            channel=channel_id,
            ts=ts,
            inclusive=True,
            limit=100,
            token=context.user_token,
        )
        users = {r["user"] for r in replies["messages"] if "user" in r}
        reaction_users = {
            r2
            for r in replies["messages"]
            if "reactions" in r
            for reaction in r["reactions"]
            for r2 in reaction["users"]
        }
        users = users.union(reaction_users)
        usernames = await self.user_cache.get_usernames(context, users)

        for r in replies["messages"]:
            username = usernames[r["user"]]
            retval += f"*{username}*: {r['text']}\n\n"

            if "reactions" in r:
                retval += await self._get_reactions_as_text(context, r["reactions"])

        return retval
```