Ticket #449 (closed FeatureRequest: wontfix)

Opened 12 months ago

Last modified 2 months ago

groupmsg issue

Reported by: 512upload Owned by:
Milestone: Component: PluginPack
Version: PluginPack2.2.0 Severity: dontcare
Keywords: Cc:

Description

I have a problem: when I use groupmsg, very often people tell me that they're not receiving the SMS they were supposed to receive. This doesn't happen if I send the SMS one by one.

Knowing this I would like to suggest that one could configure the groupmsg plugin to send a message to each contact with a certain interval to prevent these problems.

Thank you.

Change History

Changed 11 months ago by jbailey

  • status changed from new to closed
  • resolution set to wontfix
  • severity set to dontcare

groupmsg is intentionally simple. Further adding functionality such as this to it serves to do nothing but enable further abuse. I'm closing this as 'wontfix', but as this is Stu's plugin he is free do do whatever he wants with it.

Changed 11 months ago by 512upload

I don't understand why you think that would be so complex... I think it would only prevent this kind of problems which make otherwise useless the groupmsg feature (at least for me).

And I don't understand either why you think that this functionality would enable further abuse. Can you explain it to me, please?

Changed 4 months ago by dashesy

512upload you are 100% right. Spammers already know what to do, while I can not send group message to my friends the way I could in Yahoo Messenger itself !!! Anyways, I added the 100ms delay (using usleep(100000); command) and now it works better. The code snippet reads as follows:

static void do_it_cb(GList *list, const char *message) {

char *stripped; GList *l; PurpleBuddy? *b; PurpleConversation? *conv = NULL;

purple_markup_html_to_xhtml(message, NULL, &stripped);

for (l = list; l; l = l->next) {

b = l->data; conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, b->account, b->name); if(conv) {

if (b->account->gc->flags & PURPLE_CONNECTION_HTML)

purple_conv_im_send(PURPLE_CONV_IM(conv), message);

else

purple_conv_im_send(PURPLE_CONV_IM(conv), stripped);

} usleep(100000);

}

g_free(stripped); g_list_free(list);

} In addition, to avoid long list of all buddies while sending offline messages the following change is required: static void groupmsg_sendto_group(PurpleBlistNode? *node, gpointer data) {

PurpleBlistNode? *n; PurpleBuddy? *b; PurpleGroup? *group; GList *list = NULL; gchar *tmp = NULL, *tmp2 = NULL;

group = (PurpleGroup? *)node;

for (n = node->child; n; n = n->next) {

if (PURPLE_BLIST_NODE_IS_CHAT(n))

continue;

if (PURPLE_BLIST_NODE_IS_CONTACT(n)) {

b = purple_contact_get_priority_buddy((PurpleContact?*)n);

} else

b = (PurpleBuddy? *)n;

// I changed here:

if(b == NULL)/* !PURPLE_BUDDY_IS_ONLINE(b))*/

continue;

tmp2 = tmp; if(tmp != NULL)

tmp = g_strdup_printf(" %s (%s)\n%s", purple_buddy_get_alias(b), b->name, tmp2);

else

tmp = g_strdup_printf(" %s (%s)", purple_buddy_get_alias(b), b->name);

g_free(tmp2); list = g_list_append(list, b);

}

if (tmp == NULL) {

tmp = g_strdup_printf(_("There are no buddies online in group %s"), group->name); purple_notify_error(NULL, NULL, "No buddies", tmp); g_free(tmp); g_list_free(list); return;

}

tmp2 = tmp;

//I changed here:

tmp = g_strdup_printf(_("Your message will be sent to this group:\n%s"), group->name); g_free(tmp2);

purple_request_input(group, _("Spam"),

_("Please enter the message to send"), tmp, "", TRUE, FALSE, "html", _("Send"), G_CALLBACK(do_it_cb), _("Cancel"), G_CALLBACK(dont_do_it_cb), NULL, NULL, NULL, list);

g_free(tmp);

}

Changed 4 months ago by 512upload

I am sorry, but I don't know how to use the code snippet.

Thank you very much!

Best regards!

Changed 4 months ago by dashesy

You can download the installation deb file from my homepage here. Email me to send you other files if you want.

Changed 2 months ago by 512upload

Thanks for the help. However, I am going to another country with my laptop and it only has windows. Is there any dll file or something I could use for the same purpose, please?

Thank you very much!

Note: See TracTickets for help on using tickets.