Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

为什么先说内容后@,不会触发机器人。例如:你好@Bot 就不触发 #2425

Open
2 tasks done
Xmei1002 opened this issue Dec 16, 2024 · 4 comments
Open
2 tasks done

Comments

@Xmei1002
Copy link

前置确认

  • 我确认我运行的是最新版本的代码,并且安装了所需的依赖,在FAQS中也未找到类似问题。

⚠️ 搜索issues中是否已存在类似问题

  • 我已经搜索过issues和disscussions,没有跟我遇到的问题相关的issue

操作系统类型?

Windows

运行的python版本是?

python 3.9

使用的chatgpt-on-wechat版本是?

Latest Release

运行的channel类型是?

wx(个人微信, itchat)

复现步骤 🕹

你好@bot

问题描述 😯

你好@bot

终端日志 📒

<此处粘贴终端日志>
@ayasa520
Copy link
Contributor

# channel/chat_channel.py
def check_prefix(content, prefix_list):
    if not prefix_list:
        return None
    for prefix in prefix_list:
        if content.startswith(prefix):
            return prefix
    return None

@ 是作为字符串处理的, 源代码中写的是 content.startswith(prefix), 所以前面有其他内容的时候就不会触发

@Xmei1002
Copy link
Author

# channel/chat_channel.py
def check_prefix(content, prefix_list):
    if not prefix_list:
        return None
    for prefix in prefix_list:
        if content.startswith(prefix):
            return prefix
    return None

@ 是作为字符串处理的, 源代码中写的是 content.startswith(prefix), 所以前面有其他内容的时候就不会触发

谢谢你的回复。我注意到这里的代码了。我之所以有这个疑问是因为,在我配置@bot触发时,无论@bot是否在开头,都会触发;但当我换了一个触发前缀后,就只能在开头触发了,一度让我以为是哪里有问题。

@6vision
Copy link
Collaborator

6vision commented Dec 22, 2024

image
有不同的参数设置:

  • "group_chat_prefix" 这是设置的前缀触发,那触发词肯定要放到问题的最前面的
  • "group_chat_keyword" 这是设置关键词触发,那触发词放到问题的哪个位置都可以

@6vision
Copy link
Collaborator

6vision commented Dec 22, 2024

# channel/chat_channel.py
def check_prefix(content, prefix_list):
    if not prefix_list:
        return None
    for prefix in prefix_list:
        if content.startswith(prefix):
            return prefix
    return None

@ 是作为字符串处理的, 源代码中写的是 content.startswith(prefix), 所以前面有其他内容的时候就不会触发

谢谢你的回复。我注意到这里的代码了。我之所以有这个疑问是因为,在我配置@bot触发时,无论@bot是否在开头,都会触发;但当我换了一个触发前缀后,就只能在开头触发了,一度让我以为是哪里有问题。

如果你的机器人微信昵称恰好是bot,那@bot放到哪里都无所谓的,默认是开启了群聊艾特触发的。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants