Faits :
A.
Par jugement du 15 décembre 2017, le Tribunal de police de l'arrondissement de Lausanne a condamné A._, pour diffamation et tentative de contrainte, à 120 jours-amende à 30 fr. le jour, dont 60 jours-amende avec sursis durant trois ans, a dit que la prénommée est la débitrice de C._ d'un montant de 1'500 fr. à titre d'indemnité pour son tort moral ainsi que d'un montant de 11'000 fr. pour ses dépens et a dit que A._ est la débitrice de B._ d'un montant de 11'000 fr. pour ses dépens.
Par jugement du 31 juillet 2018, la Cour d'appel pénale du Tribunal cantonal du canton de Vaud a partiellement admis l'appel formé par A._ contre ce jugement et a réformé celui-ci en ce sens que la prénommée est la débitrice de C._ et de B._ d'un montant de 7'341 fr. chacun à titre de juste indemnité pour les dépenses occasionnées par la procédure de première instance. Elle a confirmé le jugement pour le surplus. La cour cantonale a par ailleurs dit que A._ devait payer à C._ et à B._ un montant de 1'750 fr. chacun, à titre de juste indemnité pour les dépenses occasionnées par la procédure d'appel, et a mis les frais de la procédure d'appel, par 2'680 fr., à sa charge.
Par arrêt du 20 décembre 2018 (cause 6B_974/2018), le Tribunal fédéral a partiellement admis le recours formé par A._ à l'encontre de la décision cantonale du 31 juillet 2018. Il a considéré que A._ devait être libérée de l'infraction de tentative de contrainte.
B.
Par jugement du 29 juillet 2019, la Cour d'appel pénale du Tribunal cantonal a partiellement admis l'appel de A._. Elle l'a libérée du chef d'accusation de tentative de contrainte au préjudice de C._, a prononcé une peine de 80 jours-amende à 30 fr. le jour avec sursis pendant trois ans, a procédé à une réduction proportionnelle d'un tiers, soit 4'894 fr., des dépens octroyés à l'intimée pour la première instance, a mis les trois quart des frais d'appel antérieurs à l'arrêt du Tribunal fédéral du 20 décembre 2018, soit 2'010 fr., à la charge de A._, le solde étant laissé à la charge de l'Etat, et a réduit d'un tiers l'indemnité allouée à C._ pour les dépenses occasionnées par la procédure d'appel antérieure à l'arrêt du Tribunal fédéral, arrêtée à un montant de 1'166 fr. 65. Elle a confirmé le jugement entrepris pour le surplus.
C.
A._ forme un recours en matière pénale au Tribunal fédéral. Elle conclut, avec suite de frais et dépens, à la réforme du jugement entrepris en ce sens que sa condamnation soit assortie d'un sursis pendant un an, que les frais de procédure jusqu'au tribunal de police à hauteur de 3'400 fr. soient proportionnellement répartis (un quart à la charge de l'Etat, un quart à la charge de C._, la moitié à sa charge), que les frais d'appel à hauteur de 2'010 fr. soient annulés ou qu'une juste indemnité pour les frais d'appel lui soient accordée, qu'une indemnité à hauteur de 4'685 fr. lui soit allouée à titre de défraiement des honoraires d'assistance d'un avocat et supportée à concurrence des deux tiers par C._ et d'un tiers par l'Etat, que B._ soit condamné à lui verser la somme de 1'500 fr. à titre de juste indemnité pour le tort moral subi par le dépôt de la poursuite n° xxx et, enfin, que les frais de la cause soient laissés à la charge de l'Etat. Elle sollicite également le bénéfice de l'assistance judiciaire ainsi que l'octroi de l'effet suspensif au recours.
D.
Par ordonnance du 14 novembre 2019, le Tribunal fédéral a rejeté la demande d'assistance judiciaire de A._.
E.
Invités à se déterminer sur le recours en relation avec la question des frais et de l'indemnité réclamée par la recourante pour la procédure de première instance, la cour cantonale, le ministère public et C._ ont déclaré y renoncer.
Considérant en droit :
1.
Comme on le comprend, la recourante invoque la violation de son droit d'être entendue au motif que la cour cantonale n'est pas entrée en matière sur son grief développé dans ses déterminations écrites, à savoir qu'elle reproche en substance à B._ d'avoir intenté une poursuite contre elle alors qu'un recours était pendant au Tribunal fédéral. Elle conclut en outre à l'octroi d'une indemnité pour tort moral en raison de cette poursuite.
Après que l'objet de l'appel a été fixé dans la déclaration d'appel, la portée de celui-ci ne peut plus être élargie (arrêts 6B_562/2019 du 27 novembre 2019 consid. 2.1; 6B _125/2019 du 5 mars 2019 consid. 1.1; 6B_1160/2017 du 17 avril 2018 consid. 1.1 publié in SJ 2019 I 64). Or la cour cantonale a constaté, sans que la recourante ne prétende le contraire, que la problématique de la poursuite introduite par B._ ne figurait pas dans la déclaration d'appel de la recourante. C'est dès lors sans violer le droit d'être entendue de la recourante qu'elle a refusé d'entrer en matière sur cette nouvelle conclusion. La recourante n'est par ailleurs pas admise à discuter ce grief sur le fond devant le Tribunal fédéral, dont le pouvoir de cognition est circonscrit à l'irrecevabilité constatée dans le jugement attaqué. Il s'ensuit que sa conclusion tendant à l'octroi d'une indemnité pour tort moral, qui suppose un examen au fond, doit être écartée.
La recourante se plaint également de la violation du " droit de procédure pénale, d'avoir procédé à une appréciation arbitraire des preuves et de ne pas avoir appliqué correctement le principe in dubio pro reo ". Ces griefs sont irrecevables en l'absence de motivation topique (art. 106 al. 2 LTF).
2.
La recourante conclut à la réforme du jugement entrepris en ce sens que sa condamnation soit assortie d'un sursis pendant un an dès lors que certains chefs d'accusation ont été abandonnés.
2.1. Aux termes de l'art. 44 al. 1 CP, si le juge suspend totalement ou partiellement l'exécution d'une peine, il impartit au condamné un délai d'épreuve de deux à cinq ans. Dans le cadre ainsi fixé par la loi, le juge en détermine la durée en fonction des circonstances du cas, en particulier selon la personnalité et le caractère du condamné, ainsi que du risque de récidive. Plus celui-ci est important, plus long doit être le délai d'épreuve et la pression qu'il exerce sur le condamné pour qu'il renonce à commettre de nouvelles infractions (ATF 95 IV 121 consid. 1 p. 122; arrêt 6B_529/2019 du 5 juin 2019 consid. 3.1 et la référence citée). Dans ce contexte, les autorités cantonales disposent d'un large pouvoir d'appréciation et le Tribunal fédéral ne considère que le droit fédéral a été violé que lorsque le juge en a abusé (ATF 95 IV 121 consid. 1 p. 122; arrêt 6B_529/2019 précité consid. 3.1).
2.2. Comme cela ressort de ce qui précède, la durée du délai d'épreuve n'est pas fonction du nombre d'infractions retenues. En l'absence de toute motivation propre à démontrer que la cour cantonale aurait abusé de son pouvoir d'appréciation en fixant un délai d'épreuve de trois ans, le grief formé par la recourante est écarté.
3.
La recourante demande que les frais mis à sa charge pour la procédure d'appel antérieure à l'arrêt du Tribunal fédéral, par 2'010 fr., soient " annulés " ou " qu'une juste indemnité pour les frais d'appel " lui soit accordée.
3.1. Aux termes de l'art. 428 al. 1 CPP, les frais de la procédure de recours sont mis à la charge des parties dans la mesure où elles ont obtenu gain de cause ou succombé. L'art. 428 al. 2 CPP régit les cas dans lesquels les frais de la procédure peuvent être mis à la charge de la partie recourante qui obtient une décision qui lui est plus favorable. Pour déterminer si une partie succombe ou obtient gain de cause, il faut examiner dans quelle mesure ses conclusions sont admises en deuxième instance (arrêts 6B_680/2019 du 27 septembre 2019 consid. 2.1; 6B_1240/2018 du 14 mars 2019 consid. 1.2.1 et la référence citée).
3.2. La cour cantonale a considéré qu'au vu de l'issue de la cause, les frais d'appel antérieurs à l'arrêt du Tribunal fédéral du 20 décembre 2018, par 2'680 fr., devaient être mis par trois quarts, soit par 2'010 fr., à la charge de la recourante qui succombait encore dans une très large mesure, son appel étant notamment entièrement rejeté en ce qui concernait les infractions commises au détriment de B._ (cf. art. 428 al. 1,1ère phrase, CPP). Le solde était laissé à la charge de l'Etat.
Il ressort du jugement entrepris que la condamnation de la recourante a été confirmée pour six cas constitutifs de diffamation, soit cinq commis envers B._ et un envers C._, tandis que l'infraction de tentative de contrainte au préjudice de cette dernière a été abandonnée en appel. Par ailleurs, la recourante a été libérée de l'infraction de faux dans les titres en première instance déjà, de sorte que l'abandon de cette infraction n'influe pas sur la répartition des frais d'appel. Ainsi, au vu des points sur lesquels la recourante a gagné et ceux sur lesquels elle a succombé en appel, la cour cantonale n'a pas abusé du pouvoir d'appréciation dont elle dispose en la matière en mettant les frais d'appel à raison des trois quarts à sa charge. La critique de la recourante se révèle vaine.
4.
La recourante fait grief à la cour cantonale de ne pas avoir modifié la répartition de la prise en charge des frais de procédure de première instance au regard de sa libération de l'infraction de tentative de contrainte.
4.1. Lorsque le Tribunal fédéral admet un recours et renvoie la cause à l'autorité précédente, en l'occurrence à la juridiction d'appel cantonale, pour nouvelle décision (art. 107 al. 2 LTF), il appartient à cette dernière de statuer sur les frais sur la base de l'art. 428 CPP. Aux termes de l'art. 428 al. 3 CPP, si l'autorité de recours rend elle-même une nouvelle décision, elle se prononce également sur les frais fixés par l'autorité inférieure (cf. arrêts 6B_1367/2017 du 13 avril 2018 consid. 2.1; 6B_602/2014 du 4 décembre 2014 consid. 1.3; Thomas Domeisen, in Basler Kommentar, Schweizerische Strafprozessordnung, 2011, n° 34 ad art. 428 CPP).
La répartition des frais de procédure de première instance repose sur le principe selon lequel celui qui a causé les frais doit les supporter. Ainsi, le prévenu doit supporter les frais en cas de condamnation (art. 426 al. 1 CPP), car il a occasionné, par son comportement, l'ouverture et la mise en oeuvre de l'enquête pénale (ATF 138 IV 248 consid. 4.4.1 p. 254). Lorsque la condamnation n'est que partielle, les frais ne doivent être mis à sa charge que de manière proportionnelle, en considération des frais liés à l'instruction des infractions pour lesquelles un verdict de culpabilité a été prononcé. Il s'agit de réduire les frais, sous peine de porter atteinte à la présomption d'innocence, si le point sur lequel le prévenu a été acquitté a donné lieu à des frais supplémentaires et si le prévenu n'a pas, de manière illicite et fautive, provoqué l'ouverture de la procédure ou rendu plus difficile la conduite de celle-ci. Comme il est difficile de déterminer avec exactitude les frais qui relèvent de chaque fait imputable ou non au condamné, une certaine marge d'appréciation doit être laissée à l'autorité cantonale (arrêts 6B_921/2019 du 19 septembre 2019 consid. 3.1; 6B_5 72/2018 du 1er octobre 2018 consid. 5.1.1 et les arrêts cités).
4.2. Par annonces des 16 et 26 décembre 2017, puis déclaration motivée du 15 février 2018 devant l'autorité précédente, la recourante a notamment conclu à ce qu'aucun frais ne soit mis à sa charge et à ce que les intimés soient chacun débiteurs de la somme de 12'000 fr., incluant les frais judiciaires et les frais de défense encourus.
Dans sa nouvelle décision rendue à la suite de l'arrêt de renvoi du Tribunal fédéral, la cour cantonale devait statuer sur les frais de première instance. Or l'autorité précédente n'a, à teneur de ses considérants, pas procédé à un nouvel examen de la répartition de ces frais. Elle s'est limitée à confirmer le dispositif du jugement de première instance sur ce point, lequel mettait l'intégralité des frais de procédure - par 3'400 fr. - à la charge de la recourante (cf. point VIII du jugement de première instance, reproduit dans la décision attaquée). A cet égard, il n'apparaît pas que l'autorité précédente ait pris en considération le fait que la recourante a été libérée d'une infraction à la suite de l'arrêt du Tribunal fédéral. Le jugement attaqué ne permet en toute hypothèse pas d'expliquer pourquoi la répartition des frais est demeurée la même que dans la décision de première instance alors que la recourante a obtenu partiellement gain de cause en appel. Partant, il y a lieu de renvoyer la cause à la cour cantonale pour qu'elle statue à nouveau sur la répartition des frais de première instance en tenant compte de l'abandon de l'infraction de tentative de contrainte.
En revanche, la cour cantonale n'a pas rendu de nouvelle décision sur l'infraction de faux dans les titres. Elle n'avait dès lors pas à statuer à nouveau sur les frais de première instance au regard de l'abandon de cette infraction par les premiers juges, une telle contestation n'ayant du reste pas été portée devant le Tribunal fédéral (cf. arrêt 6B_974/2018 précité).
5.
La recourante soutient que la cour cantonale aurait dû lui accorder une juste indemnité à titre de défraiement de ses honoraires d'avocat à hauteur de 4'685 fr., cette indemnité devant être mise à la charge de l'intimée à raison des deux tiers et à la charge de l'Etat à raison d'un tiers.
5.1. Aux termes de l'art. 429 al. 1 let. a CPP, si le prévenu est acquitté totalement ou en partie ou s'il bénéficie d'une ordonnance de classement, il a droit à une indemnité pour les dépenses occasionnées par l'exercice raisonnable de ses droits de procédure. L'indemnité couvre en particulier les honoraires d'avocat, à condition que le recours à celui-ci procède d'un exercice raisonnable des droits de procédure. L'Etat ne prend en charge les frais de défense que si l'assistance d'un avocat était nécessaire compte tenu de la complexité de l'affaire en fait ou en droit et que le volume de travail et donc les honoraires étaient ainsi justifiés (ATF 142 IV 45 consid. 2.1 p. 47). C'est en premier lieu aux autorités pénales qu'il appartient d'apprécier le caractère raisonnable de l'activité de l'avocat et elles disposent dans ce cadre d'un pouvoir d'appréciation considérable. Le Tribunal fédéral s'impose par conséquent une certaine retenue lors de l'examen de l'évaluation faite par l'autorité précédente; il n'intervient que lorsque celle-ci a clairement abusé de son pouvoir d'appréciation et que les honoraires alloués sont hors de toute proportion raisonnable avec les prestations fournies par l'avocat (ATF 142 IV 163 consid. 3.2.1 p. 169).
La question de l'indemnisation du prévenu (art. 429 CPP) doit être traitée en relation avec celle des frais (art. 426 CPP). Si le prévenu supporte les frais en application de l'art. 426 al. 1 ou 2 CPP, une indemnité est en règle générale exclue (ATF 145 IV 94 consid. 2.3.2 p. 98; 144 IV 207 consid. 1.8.2 p. 211; 137 IV 352 consid. 2.4.2 p. 357).
5.2. La recourante n'était pas représentée par un défenseur pour la procédure d'appel, de sorte qu'il n'y avait pas lieu de lui accorder une indemnité à ce titre. En revanche, elle a produit une note d'honoraires de son conseil, à hauteur de 4'324 fr. 85, pour la procédure de première instance (dossier cantonal, pièce 63). Ses conclusions en indemnisation ont été écartées par le tribunal de première instance, qui a considéré qu'elle avait succombé à l'action pénale (cf. point IX du dispositif du jugement de première instance). Dans son dispositif, la cour cantonale a confirmé le jugement de première instance sur ce point. Or, dans la mesure où le jugement attaqué réforme partiellement la décision de première instance en libérant la recourante d'une infraction, la recourante ne saurait désormais être considérée comme ayant entièrement succombé. Il y a dès lors lieu de renvoyer la cause à la cour cantonale pour qu'elle statue à nouveau sur l'indemnité de défense de la recourante pour la procédure de première instance, suivant en cela la nouvelle décision sur la répartition des frais (cf. consid. 4. supra).
6.
Le recours doit donc être partiellement admis, le jugement attaqué annulé en ce qui concerne la condamnation de la recourante aux frais de la procédure de première instance et le rejet de toute conclusion en indemnisation de ses frais de procédure de première instance. La cause est renvoyée à la cour cantonale pour nouveau jugement. Pour le surplus, le recours doit être rejeté dans la mesure où il est recevable.
La recourante, qui succombe partiellement, supportera une partie des frais judiciaires (art. 66 al. 1 LTF). Elle peut prétendre à des dépens réduits, à la charge du canton de Vaud (art. 68 al. 1 LTF).
La demande de restitution de l'effet suspensif est sans objet.
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est partiellement admis, le jugement attaqué est annulé et la cause est renvoyée à la cour cantonale pour nouveau jugement. Pour le surplus, le recours est rejeté dans la mesure où il est recevable.
2.
Une partie des frais judiciaires, arrêtée à 2'000 fr., est mise à la charge de la recourante.
3.
Le canton de Vaud versera à la recourante une indemnité de 1'000 fr. à titre de dépens réduits pour la procédure devant le Tribunal fédéral.
4.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 28 février 2020
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Musy