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

how to make bot only learn messages from a specific person #34

Open
multiplegamer9 opened this issue Apr 14, 2023 · 3 comments
Open

how to make bot only learn messages from a specific person #34

multiplegamer9 opened this issue Apr 14, 2023 · 3 comments

Comments

@multiplegamer9
Copy link

i was thinking of using self.check_if_permissions(m) to accomplish this but i couldnt get it to work, any help on this?

@tomaarsen
Copy link
Owner

Hello!
I don't maintain this work much anymore, so I'm not sure it even still works well. That said, this else branch is responsible for learning:

What you could do is e.g.

                ...
                # Ignore the message if any word in the sentence is on the ban filter
                if self.check_filter(m.message):
                    logger.warning(f"Sentence contained blacklisted word or phrase:\"{m.message}\"")
                    return

+               elif m.user == "multiplegamer9":
                    # Try to split up sentences. Requires nltk's 'punkt' resource
                    try:
                        sentences = sent_tokenize(m.message.strip())
                    # If 'punkt' is not downloaded, then download it, and retry
                    except LookupError:
                        ...

Then it should only trigger the learning for the user that's called "multiplegamer9".

A personal recommendation is then to also update this:

# Commit these executes if there are more than 25 queries
if auto_commit and len(self._execute_queue) > 25:
self.execute_commit()

From 25 to e.g. 5. You tend to get a little less than 1 query per word that is written in chat. Normally these are batched to only "learn" in bulk once every 25 queries, but if you only have one user, then it might take a while. So, I'd recommend lowering it a bit.

Hope this helps :)

  • Tom Aarsen

@multiplegamer9
Copy link
Author

thank you very much for the help and quick response! it does still work very well, only thing thats broken is the /mods command due to IRC command deprecation.

@tomaarsen
Copy link
Owner

Oh, I'm glad that it's not too beat up! I read about the IRC deprecation. I think whispering cooldowns might also be broken because of it? I'm not too bothered as long as the rest works.

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

No branches or pull requests

2 participants