LoginSignup
3
3

More than 3 years have passed since last update.

message.content内のサーバーカスタム絵文字を取り除く方法

Last updated at Posted at 2020-03-10

不具合と対処

Discordのチャットを読み上げるbotの作成の記事を見てbotを作成したところ、サーバーのカスタム絵文字の読み上げの際にemojiのIDを読み上げてしまう不具合が発生したので以下のように対処しました。

import re

def remove_custom_emoji(text):
    pattern = r'<:[a-zA-Z0-9_]+:[0-9]+>'    # カスタム絵文字のパターン
    return re.sub(pattern,'',text)   # 置換処理

解説

カスタム絵文字はmessage.content<:emoji_name:emoji_id>という形式になっています。
それを取り除くパターンを作成しre.sub()に渡し、マッチした部分を空白に置換することでカスタム絵文字を除去しています。

もっと正確なパターンがありましたらコメントのほうによろしくお願いします:bow_tone1:

参考

Pythonで複数の文字列を削除したい ー re.subを使う
Discord Bot Portal JPのみなさん(Twitter)

3
3
1

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
3
3