As punishment for having a short twitter name, I get a zillion mentions from people who either mistype (acceptable) or obsessively retweet (not a proper Twitter retweet, the old-fashioned RT sort) something that’s already been retweeted a number of times. So you start off with
I love my friend @silicagelforbreakfast
which then gets retweeted by someone else as
lol!!1! i agree RT @scorpionsinmyunderpants I love my friend @silicagelforbreakfast
which then gets retweeted again as
so funny rofl RT @moretattoosmoreyesplease lol!!1! i agree RT @scorpionsinmyunderpants I love my friend @silicagelforbreakfast
and then finally as
"lol at u all RT @vapidohsovapid so funny rofl RT @moretattoosmoreyesplease lol!!1! i agree RT @scorpionsinmyunderpants I love my friend @sil
… and then it shows up in my mentions list.
I wouldn’t mind so much — it might even be entertaining, in a sort of watch-Vesuvius-erupt way — if it wasn’t for the fact that no-one who tweets in English does this. No-one. Every one of these I get is Indonesian.
There isn’t such a language as Indonesian, I don’t believe. All the perpetrators are from Indonesia, though. Anyway, at first it was anthropologically amusing, then it was mildly irritating, then it was unbelieveably irritating, and we’re now at the stage where I can’t even consider using a Twitter client unless it’s got an easy-to-access Block User function.
You now think that I’m incredibly intolerant and I should chill out a bit. Tweets that I can’t read that weren’t deliberately directed at me, recently:
- Paaan-_- RT @becalvpattinson: Eee sipit!!!mirip @naomi_elmo lau RT @silentbudi Olang gilaaaa (¬-̮¬)-σ RTbecalvpattinson Bah menyuruh RT @sil
- Ahaha gilang ramadhan yg pp nya main fixie”@SilvianaAlianda: apa atuh amel @ameliaadwi: Apa yaaa?=)) wanipiro dulumah O̷̴̷̴̐ﻬO̷̴̷̴̐ “@Sil
- iya telat banget ksongnya msi hr kmis sm sbtu doank ? RT @nianiiong Blm hahaha telat bgt ya ,ntr ktnya tgl 30juli uasnya (⌣́_⌣̀) RT @sil
- Blm hahaha telat bgt ya ,ntr ktnya tgl 30juli uasnya (⌣́_⌣̀) RT @silvia_iphy: udah uas beyum? RT @nianiiong Hayuuuuuuuu (˘⌣˘)ε˘`) RT @sil
- Hhaa gitu gmna?RT @srirahayu96: emang sih yg namanya aurel mah gitu *eh RT @silfiaini_03: Hehe iyaaRT @srirahayu96: aurel yah ? haha RT @sil
- Dripada boong hayoo :pRT @silviaarin: ih ngaku (ʃ⌣ƪ) RT rifkynafiss: Haha iya se (ʃ⌣ƪ) RT @silviaarin: di hacimu :3 RT rifkynafiss: @sil
- Biarin :* :* :* hahah RT @jessicaaruthh: getek wooo (`▽´)-σ RT @silviaizky Hemmah :* RT @jessicaaruthh: wkwkwk benar kali pun kak :p RT @sil
- huhuhuhu RT @Pauziah_s: bangetzzzRT @silmisafira: iya po,huhuhuhu terharu banget RT @Pauziah_s: yaampun waw bnget sil:oRT @sil
- cukup fans cukup…rt @shrvenuuraa biarin, aku kan kepoRT @ajengtianaflh: pingin tau ajart shrvenuuraa knp istighfar? -__-RT @Sil
- wakakakakRT @stepitepi: Jangan samain:p ntr jeles wk@Silviauss: Samanya kyk debran baru mandi u,u RT @stepitepi: Brb mandi @Sil
- Ahahah :”> udh ketauan sakit apa? :* RT @sarahdwip : Avanya ciheee belom yang :* RT@silmaariestia: udah sembuh blm bee? RT sarahdwip : @sil
- tawa mulu! Haha RT @FrankyWattimena: Hahahah… RT @LanyWoodsen: pok ame2,bergalau unyu2..siang makan ati,klo malam boros tissu ) cc: @sil
- *bawak parang* “@rulinatcha: bahaha adit ya sil bukan ruly =DRT @afanndie: tumben silvi otakny bener (˘▼˘)งRT @rulinatcha: banget (y)RT @Sil
To be clear, that’s thirteen people I’ve needed to block. In the last 9 hours. (See for yourself.) Anyway, it gets old really quick. So, it’s script time. A script to block Twitter users who @mention you wrongly.
There are a number of things about this that are very tailored to me. Specifically, it flat out assumes that mis-@mentions are not in English. This works by looking up each word with aspell and then selecting a tweet for user blocking if it has more than half the words being not English. It also assumes that you never want to block anyone who you follow or who follows you, and it does some egregiously horrid things about Unicode rather than handling it properly, but that’s OK too for these purposes. It lists the tweets and people it’s going to block first; if it’s going to block someone you don’t want it to, say no, and then re-run it as
python blocktwitter.py personIDoNotWantToBlock AnotherPersonIDoNotWantToBlock, which is obviously rubbish but there it is.
You’ll need OAuth tokens. I don’t know where you get them from in the UI; I think the Twitter people might have taken that away. This probably means that you need to write enough of an app to do the OAuth dance, in order to get some tokens, which is pretty bloody infuriating in itself, but there you go.
Anyway, if you’re afflicted by an @mentions stream that you can’t read a word of, it might help.