キャラ別配信術①:毒舌キャラの作り方
読了時間: 8分 対象: 「いじりができない」「攻撃的に見えてしまう」配信者結論
「毒舌は攻撃じゃない。"仲間の証"だ。愛がないと成立しない」
毒舌キャラとは
毒舌キャラは親しみの表現方法の一つ。敬語で丁寧に扱うより、タメ口でいじる方が「仲良し」に見える。
ポイント:
- 攻撃ではなく愛情表現
- 対等関係の証明
- 必ずフォローがセット
- 関係構築後にのみ使用
- いきなり初見をいじる(攻撃に見える)
- フォローなしで侮辱(傷つける)
- 本気で怒る(エンタメにならない)
基本テクニック(毒舌系)
111. いじり返し
何をするか: 視聴者からいじられたら、同じ強度でいじり返す。 実践例:- 視聴者「配信者ってバカだよね」
- 配信者「お前が言うなw」
112. 共犯者認定
何をするか: 「お前も同類だろ」「お前も同じこと考えてたくせに」と仲間に引き込む。 実践例:- 「お前も今笑っただろ」
- 「お前も同じミスするタイプだろ」
113. 軽い侮辱+即フォロー
何をするか: 「バカじゃんw」と言った直後に「...いや好きだけど」とフォロー。 実践例:- 「アホかw ...いやそこが好き」
- 「クズじゃんw ...まあ俺もだけど」
114. 自虐からの巻き込み
何をするか: 「俺がクズなのはお前らのせい」「お前らが甘やかすから」と冗談で責任転嫁。 実践例:- 「俺がダメ人間なのお前らが肯定するから」
- 「お前らが毎日来るから堕落した」
115. ツッコミ待ち発言
何をするか: わざとボケて、視聴者にツッコませる。 実践例:- 「え、1+1って3じゃないの?」
- 「これって常識だよね?」(明らかに違う)
116. 敵認定ごっこ
何をするか: 「今日からお前はライバルな」「お前とは戦争だ」と疑似的な対立構造。 実践例:- 「お前とは決着つけないとな」
- 「今日はお前を倒す日だ」
117. 秘密の共有
何をするか: 「これ他で言うなよ」と前置きして話す(全員聞いてる)。 実践例:- 「これオフレコな」
- 「内緒だぞ」
118. 悪ノリ許可
何をするか: 「今日は何言ってもいいぞ」「無礼講だ」と解放を宣言。 実践例:- 「今日は俺をいくらでもいじっていい」
- 「遠慮なく言え」
119. プロレス展開
何をするか: 喧嘩風のやり取りをエンタメとして展開。本気じゃないことは全員わかっている。 実践例:- 「おい待てよ!」「何だよ!」というやり取り
- コラボ相手と言い争い風
120. 「お前」呼び
何をするか: 敬語から「お前」呼びに切り替えて距離を詰める。 実践例:- 「〇〇さん」→「お前」
- 「あなた」→「お前」
補助テクニック
130. 成功者への軽いいじり
何をするか: リア充報告、成功報告に対して「爆発しろw」とツッコむ。 効果: バランス。成功者をいじることで弱者との距離を縮める。268. 怒りの演技
何をするか: キレ芸。安全な範囲で怒ってみせる。 効果: 刺激提供。怒りは強い感情で、見ていて面白い。127. アンチすら歓迎
何をするか: 「批判も愛だと思ってる」とアンチさえ受け入れる姿勢。 効果: 器の大きさ。何を言われても動じないキャラ確立。269. 愛情表現の過剰
何をするか: 毒舌の後に「大好き!」を連発してバランス。 効果: 毒と甘さのギャップで「本当は愛がある」と伝わる。まとめ
- 毒舌は親密さの表現(攻撃ではない)
- 関係構築後にのみ使用
- 必ずフォローをセットで
- 「お前」呼びで距離を詰める
- 愛情表現とのバランスが重要
【ここから有料】
運用ケース集
ケース1: 常連との距離を縮めたい時
場面: ある程度通ってくれている人とさらに親しくなりたい やること:- #120(「お前」呼び)への切り替えを自然に
- #111(いじり返し)で対等感
- #112(「お前も同類だろ」)で仲間意識
- #117(「これ内緒な」)で特別感
ケース2: チャットを盛り上げたい時
場面: コメントが静か、もっと活発にしたい やること:- #115(ツッコミ待ち発言)でボケる
- #118(「何言ってもいいぞ」)で解放
- #119(プロレス展開)で誰かと掛け合い
- #114(「お前らのせいだ」)で巻き込み
ケース3: 調子に乗ってる視聴者への対応
場面: ちょっとイキってるコメントが来た やること:- #111(いじり返し)「お前が言うなw」
- #113(軽い侮辱+即フォロー)「イキってんなw いや好きだけど」
- #116(敵認定ごっこ)「お前とは戦争だな」
ケース4: 新規を常連グループに馴染ませたい時
場面: 新しい人が来たけど、常連の空気についていけてない やること:- まず丁寧に歓迎(毒舌はまだ早い)
- 常連が新規をいじり始めたら#112(「仲間だな」)と認定
- 徐々に#113(軽いいじり)を開始
- #118(「遠慮なく言っていいぞ」)で許可
組み合わせコンボ
仲良し演出コンボ
組み合わせ: #111 + #113 + #117 流れ: 1. 視聴者「配信者ってバカだよねw」 2. #111「お前が言うなw」 3. #113「まあバカ同士仲良くしようや」 4. #117「これ他の人には言うなよ、俺ら仲いいからな」 なぜ強いか: いじり合い→認め合い→秘密共有で親密度が急上昇。盛り上げコンボ
組み合わせ: #115 + #114 + #119 流れ: 1. #115「え、これってこうじゃないの?」(わざとボケる) 2. 視聴者「違うだろw」 3. #114「俺が間違えるのはお前らが教えないからだ」 4. #119「よし、じゃあ勝負だ」(プロレス展開) なぜ強いか: ボケ→ツッコミ→責任転嫁→対決のエンタメ構造が完成。共犯者製造コンボ
組み合わせ: #112 + #117 + #118 流れ: 1. 何か悪ノリが発生 2. #112「お前も乗ってたよな」 3. #117「これ他で言うなよ、俺たちだけの話だからな」 4. #118「まあ今日は無礼講だから」 なぜ強いか: 「一緒にやらかした」という共犯意識が最強の絆を作る。自動化Tips
いじり安全度チェッカー
やりたいこと: いじっても大丈夫な相手かどうかを判定 実装方法:def can_tease(db, username):
"""いじり可能かどうかを判定"""
info = db.get_info(username)
if not info:
return False, "初見はいじらない", 0
# 判定基準
visit_count = info['visit_count']
tenure_days = db.get_tenure_days(username)
# スコア計算
score = 0
if visit_count >= 5:
score += 30
if visit_count >= 10:
score += 20
if tenure_days >= 7:
score += 25
if tenure_days >= 30:
score += 25
# 判定
if score >= 75:
return True, "フルパワーでいじりOK", score
elif score >= 50:
return True, "軽めのいじりOK", score
elif score >= 30:
return False, "まだ早い、もう少し仲良くなってから", score
else:
return False, "丁寧に対応", score
使用例
ok, reason, score = can_tease(db, "username123")
-> (True, "軽めのいじりOK", 55)
いじり度バランサー
やりたいこと: 同じ人ばかりいじらないようにバランスを取る 実装方法:from collections import defaultdict
import time
class TeaseBalancer:
def __init__(self, max_per_session=5):
self.tease_count = defaultdict(int)
self.max_per_session = max_per_session
self.session_start = time.time()
def record_tease(self, username):
"""いじりを記録"""
self.tease_count[username] += 1
def can_tease_more(self, username):
"""もっといじっていいか判定"""
return self.tease_count[username] < self.max_per_session
def get_tease_status(self):
"""いじり状況を取得"""
return dict(self.tease_count)
def suggest_target(self, active_viewers, db):
"""いじり対象を公平に選択"""
import random
candidates = []
for viewer in active_viewers:
ok, reason, score = can_tease(db, viewer)
if ok and self.can_tease_more(viewer):
# いじり回数が少ない人を優先
priority = score - (self.tease_count[viewer] * 20)
candidates.append((viewer, priority))
if not candidates:
return None
# 優先度でソートしてランダム性も入れる
candidates.sort(key=lambda x: x[1], reverse=True)
top_candidates = candidates[:3]
return random.choice(top_candidates)[0] if top_candidates else None
balancer = TeaseBalancer()
毒舌レベルアドバイザー
やりたいこと: 相手との関係性に応じた毒舌レベルを提案 実装方法:class TeaseAdvisor:
def __init__(self):
self.levels = {
1: {
'name': '軽いツッコミ',
'examples': ['何言ってんのw', 'それはないw'],
'min_score': 0,
},
2: {
'name': '軽い否定',
'examples': ['お前が言うな', 'それ俺に言う?'],
'min_score': 30,
},
3: {
'name': '人格いじり',
'examples': ['お前バカだろw', 'クズじゃんw'],
'min_score': 50,
'requires_follow': True,
},
4: {
'name': '敵認定',
'examples': ['お前とは戦争だ', '許さん'],
'min_score': 75,
},
}
def recommend(self, db, username):
"""推奨毒舌レベルを取得"""
ok, reason, score = can_tease(db, username)
if not ok:
return {
'level': 0,
'name': '毒舌禁止',
'reason': reason,
'examples': ['丁寧に対応してね'],
}
# スコアに応じたレベルを選択
recommended_level = 1
for level, data in self.levels.items():
if score >= data['min_score']:
recommended_level = level
level_data = self.levels[recommended_level]
return {
'level': recommended_level,
'name': level_data['name'],
'examples': level_data['examples'],
'requires_follow': level_data.get('requires_follow', False),
'score': score,
}
advisor = TeaseAdvisor()
使用例
rec = advisor.recommend(db, "username123")
-> {'level': 2, 'name': '軽い否定', 'examples': [...], 'score': 45}
毒舌キャラチェックリスト
配信前に確認:
- [ ] いじっていい常連リストを把握しているか
- [ ] フォローのパターンを準備しているか
- [ ] 「ここまではOK」のラインを決めているか
- [ ] 初見には毒舌を使っていないか
- [ ] いじった後にフォローを入れているか
- [ ] 同じ人ばかりいじっていないか
- [ ] 相手が嫌がっていないか確認しているか
- [ ] 容姿、能力、属性への批判は絶対NG
- [ ] フォローなしの侮辱はNG
- [ ] 相手が嫌がっているのに継続はNG
次回: 癒し系キャラの作り方