@necrevistonnezr not sure about Roundcube as I moved over to SnappyMail, but I think it is similar.
Under Filters you can add a sieve script (maybe they call it 'custom')
And yes I think discard with message is equivalent.  But not an expert.
Due to the excellent spamassassin rules posted here https://forum.cloudron.io/post/30512 by @d19dotca, I am not needing to use sieve in SnappyMail.  But here is the script which I use in Protonmail.  The from can be changed to to I guess.
NB :  I put the reject part of the rule before the spam test.  Arguably I should have a return after the reject - not sure why I did not do that.
require ["include", "environment", "variables", "relational", "comparator-i;ascii-numeric", "spamtest", "reject", "fileinto", "imap4flags"];
if address :contains "from" ["spammer@blah.co.uk",  "spammer.com"]
{
  reject "Spam";
}
if spamtest :value "ge" :comparator "i;ascii-numeric" "5" {
    fileinto "spam";
}
if exists "list-unsubscribe"
{
    addflag "\\List";
}
# Generated: Do not run this script on spam messages
if allof (environment :matches "vnd.proton.spam-threshold" "*",
spamtest :value "ge" :comparator "i;ascii-numeric" "${1}")
{
    return;
}