質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Discord

Discordは、ゲーマー向けのボイスチャットアプリです。チャット・通話がブラウザ上で利用可能で、個人専用サーバーも開設できます。通話中でも音楽を流したり、PC画面を共有できるなど多機能な点が特徴です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

405閲覧

プルダウンを使って文字を表示させたい。

poketatsu

総合スコア19

Discord

Discordは、ゲーマー向けのボイスチャットアプリです。チャット・通話がブラウザ上で利用可能で、個人専用サーバーも開設できます。通話中でも音楽を流したり、PC画面を共有できるなど多機能な点が特徴です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2023/03/26 12:01

編集2023/03/26 12:02

実現したいこと

プルダウンを使って文字を表示させたい。

前提

ここに質問の内容を詳しく書いてください。
(例)
TypeScriptで●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

optionのvalueが改行を入れても改行されなかったです。

該当のソースコード

discord.py

1import os 2import discord 3from discord import Intents, Client, Interaction 4from discord.ui import Select, View 5from discord.app_commands import CommandTree 6from dotenv import load_dotenv 7 8 9load_dotenv() 10 11 12class MyClient(Client): 13 def __init__(self, intents: Intents) -> None: 14 super().__init__(intents=intents) 15 self.tree = CommandTree(self) 16 17 async def setup_hook(self) -> None: 18 await self.tree.sync() 19 20 async def on_ready(self): 21 print(f"login: {self.user.name} [{self.user.id}]") 22 23 24intents = Intents.all() 25client = MyClient(intents=intents) 26 27 28class SelectView(View): 29 def __init__(self, *, timeout: float = 20): 30 super().__init__(timeout=timeout) 31 32 async def on_timeout(self) -> None: 33 34 print("timeout") 35 @discord.ui.select( 36 cls=Select, 37 placeholder="選択してください。", 38 39 40 ) 41 async def selectMenu(self, interaction: Interaction, select: Select): 42 # await interaction.response.send_message(f"{select.values}") 43 select.disabled = True 44 await interaction.response.edit_message(view=self) 45 await interaction.followup.send(f"{select.values}") 46 47@client.tree.command() 48async def somemenu(interaction: Interaction): 49 # select = Select(placeholder="選択してください") 50 # select.add_option( 51 # label="user can see this", 52 # value="user can not see this", 53 # description="this is description", 54 # ) 55 # view = View() 56 # view.add_item(select) 57 view = SelectView() 58 view.selectMenu.add_option( 59 label="会議の使い方", 60 value="当サーバーは個通会議メインですが、\n会議も開催しているのでよかったらご参加ください!", 61 62 63 ) 64 view.selectMenu.add_option( 65 label="女性について", 66 value="い", 67 68 ) 69 70 71 await interaction.response.send_message("menu", view=view) 72 73 74client.run("トークン") 75

試したこと

value="当サーバーは個通会議メインですが、\n会議も開催しているのでよかったらご参加ください!",
\nを入れても改行されなかった
お手柔らかにお願いします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

poketatsu

2023/04/02 09:24

ご回答ありがとうございます。 すみません@selectとはどこのことでしょうか。
poketatsu

2023/04/02 09:45

async def selectMenu(self, interaction: Interaction, select: Select): # await interaction.response.send_message(f"{select.values}") select.disabled = True select.row=2 await interaction.response.edit_message(view=self) await interaction.followup.send(f"{select.values}") としましたが変わらずでした。 好きなところで改行は入れられないでしょうか。
guest

回答1

0

ベストアンサー

@select()row=2と加えてみてください。

投稿2023/03/29 00:49

pecop

総合スコア409

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

poketatsu

2023/04/06 11:33

ご回答ありがとうございます。 すみません@selectとはどこのことでしょうか。 async def selectMenu(self, interaction: Interaction, select: Select): # await interaction.response.send_message(f"{select.values}") select.disabled = True select.row=2 await interaction.response.edit_message(view=self) await interaction.followup.send(f"{select.values}") としましたが変わらずでした。 好きなところで改行は入れられないでしょうか。
pecop

2023/04/07 06:04

35行目discord.ui.select()のことです。 上記リンクの引数rowについての内容 --- row (Optional[int]) -- この選択メニューが属する相対的な行。Discordコンポーネントは5行しか持てません。デフォルトでは、項目は自動的にこの5行に配置されます。 行の相対位置を制御したい場合は、インデックスを渡すことをお勧めします。 例えば、row=1 は row=2 の前に表示されます。デフォルトは None です。これは自動順序です。 行番号は 0 から 4 の間(つまり、0始まり)でなければなりません。 --- おそらくここに行数を入れるのではないかと。最近bot作りしてないので確認がとることができませんが。。。
poketatsu

2023/04/15 05:00

ありがとうございます!! 他の方法にしておきます!!
poketatsu

2023/04/19 11:49 編集

pecoさん すみません! ディスコードの返信お願いしてもよろしいでしょうか? あと本アカのフレンド追加お願いします!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問