+ if screen_name.startswith('@'):
+ t.friendships.destroy(
+ screen_name=screen_name[1:],
+ include_entities=False)
+ printNicely(green('Unfollow ' + screen_name + ' success!'))
+ else:
+ printNicely(red('A name should begin with a \'@\''))
+
+
+def mute():
+ """
+ Mute a user
+ """
+ t = Twitter(auth=authen())
+ try:
+ screen_name = g['stuff'].split()[0]
+ except:
+ printNicely(red('A name should be specified. '))
+ return
+ if screen_name.startswith('@'):
+ rel = t.mutes.users.create(screen_name=screen_name[1:])
+ if isinstance(rel, dict):
+ printNicely(green(screen_name + ' is muted.'))
+ else:
+ printNicely(red(rel))
+ else:
+ printNicely(red('A name should begin with a \'@\''))
+
+
+def unmute():
+ """
+ Unmute a user
+ """
+ t = Twitter(auth=authen())
+ try:
+ screen_name = g['stuff'].split()[0]
+ except:
+ printNicely(red('A name should be specified. '))
+ return
+ if screen_name.startswith('@'):
+ rel = t.mutes.users.destroy(screen_name=screen_name[1:])
+ if isinstance(rel, dict):
+ printNicely(green(screen_name + ' is unmuted.'))
+ else:
+ printNicely(red(rel))
+ else:
+ printNicely(red('A name should begin with a \'@\''))
+
+
+def muting():
+ """
+ List muting user
+ """
+ t = Twitter(auth=authen())
+ # Init cursor
+ next_cursor = -1
+ rel = {}
+ # Cursor loop
+ while next_cursor != 0:
+ list = t.mutes.users.list(
+ screen_name=g['original_name'],
+ cursor=next_cursor,
+ skip_status=True,
+ include_entities=False,
+ )
+ for u in list['users']:
+ rel[u['name']] = '@' + u['screen_name']
+ next_cursor = list['next_cursor']
+ # Print out result
+ printNicely('All: ' + str(len(rel)) + ' people.')
+ for name in rel:
+ user = ' ' + cycle_color(name) + grey(' ' + rel[name] + ' ')
+ printNicely(user)
+
+
+def block():
+ """
+ Block a user
+ """
+ t = Twitter(auth=authen())
+ screen_name = g['stuff'].split()[0]
+ if screen_name.startswith('@'):
+ t.blocks.create(
+ screen_name=screen_name[1:],
+ include_entities=False,
+ skip_status=True)
+ printNicely(green('You blocked ' + screen_name + '.'))
+ else:
+ printNicely(red('A name should begin with a \'@\''))
+
+
+def unblock():
+ """
+ Unblock a user
+ """
+ t = Twitter(auth=authen())
+ screen_name = g['stuff'].split()[0]
+ if screen_name.startswith('@'):
+ t.blocks.destroy(
+ screen_name=screen_name[1:],
+ include_entities=False,
+ skip_status=True)
+ printNicely(green('Unblock ' + screen_name + ' success!'))
+ else:
+ printNicely(red('A name should begin with a \'@\''))
+
+
+def report():
+ """
+ Report a user as a spam account
+ """
+ t = Twitter(auth=authen())
+ screen_name = g['stuff'].split()[0]
+ if screen_name.startswith('@'):
+ t.users.report_spam(
+ screen_name=screen_name[1:])
+ printNicely(green('You reported ' + screen_name + '.'))