request トレンド
0post
2025.12.16 19:00
:0% :0% ( 40代 / 男性 )
人気のポスト ※表示されているRP数は特定時点のものです
Rainbow Avenue」 Request Interview🌈
ゆせさんが再生リスト作ってくれてるので、コメント増えると嬉しいな😊
https://t.co/OefESqaLSl December 12, 2025
2RP
しばらくPatreonが使えないので、
気分転換も兼ねてTwitterでリクエスト受付してみます。
・全部作るわけじゃないです
・気が向いたものだけ作ります
・完成しなくても怒らないでください🙏
期待しすぎず、
「こんなの見てみたいな〜」くらいの軽いノリでどうぞ。
⸻
Since Patreon is unavailable for a while,
I’ll try taking casual requests here on Twitter.
•I won’t make everything
•Only what I feel like working on
•Please don’t be mad if it never gets finished 🙏
No high expectations —
just drop ideas like “it’d be nice to see this.” December 12, 2025
【APEX集計 Discord BOT 完全無料作成ガイド】
Discord BOT作成
https://t.co/UkeM8Oj8OY へ
New Application → 名前入力 → Create
Bot → Add Bot → Reset Token → トークンコピー(超大事!)
Privileged Gateway Intents → Message Content Intent ON
OAuth2 → URL GeneratorScopes: bot
Permissions: Send Messages / Embed Links / Attach Files / Read Message History
生成URLで自分のサーバーにBOT招待!
2. Replitで無料常時稼働
https://t.co/K3N2Z2LWRN 無料登録
Create → Python → タイトル「apex-bot」など
Secrets(鍵アイコン)→ Key: DISCORD_TOKEN / Value: トークン貼り付け → Add
3. コード全部コピペ(https://t.co/COyPmSIC64に貼り替えてRun!)
ーーー
import discord
from discord.ext import commands
import pandas as pd
import json
import os
import requests
from PIL import Image, ImageDraw, ImageFont
import io
from datetime import datetime
intents = discord.Intents.default()
intents.message_content = True
bot = https://t.co/JVJCVDj2Lf(command_prefix='!', intents=intents)
PLACEMENT_POINTS = {1:12, 2:9, 3:7, 4:5, 5:4, 6:3, 7:3, 8:2, 9:2, 10:2, 11:1, 12:1, 13:1, 14:1, 15:1, 16:0, 17:0, 18:0, 19:0, 20:0}
CONFIG_FILE = 'config.json'
DATA_FILE = 'data.json'
def load_json(f): return json.load(open(f, 'r', encoding='utf-8')) if os.path.exists(f) else {'teams': {}, 'team_map': {}}
def save_json(f, d): json.dump(d, open(f, 'w', encoding='utf-8'), indent=4, ensure_ascii=False)
config = load_json(CONFIG_FILE)
data = load_json(DATA_FILE)
@bot.event
async def on_ready():
print(f'{bot.user} 起動完了!')
@bot.command()
async def config(ctx, key: str, value: str):
config[key] = value
save_json(CONFIG_FILE, config)
await ctx.send(f"✅ {key}={value} 設定OK!")
@bot.command()
async def addteam(ctx, *, team_name: str):
if team_name in data['teams']:
await ctx.send("❌ 既に存在")
return
data['teams'][team_name] = {'matches': []}
save_json(DATA_FILE, data)
await ctx.send(f"✅ 「{team_name}」追加!({len(data['teams'])}チーム)")
@bot.command()
async def submit(ctx, team_name: str, rank: int, kills: int):
if not https://t.co/R33rBK9kJS.guild_permissions.administrator:
await ctx.send("❌ 運営専用(管理者ロール)")
return
if team_name not in data['teams']:
await ctx.send("❌ !addteam で追加")
return
cap = int(config.get('kill_cap', 12))
pts = PLACEMENT_POINTS.get(rank, 0) + min(kills, cap)
data['teams'][team_name]['matches'].append({'rank': rank, 'kills': kills, 'pts': pts})
save_json(DATA_FILE, data)
await ctx.send(f"✅ 「{team_name}」: {rank}位 {kills}K → {pts}pt (上限{cap})")
@bot.command()
async def fetch(ctx):
token = config.get('token')
if not token:
await ctx.send("❌ Token未設定! !config token=XXXX")
return
try:
url = f"https://t.co/00h2pwFBKs{token}"
resp = requests.get(url).json()
participants = resp.get('lobbies', [{}])[0].get('participants', [])
cap = int(config.get('kill_cap', 12))
team_map = data.get('team_map', {})
added = 0
for p in participants:
player = p.get('name', '').lower()
team = None
for k, v in team_map.items():
if k.lower() in player or player in k.lower():
team = v
break
if team and team in data['teams']:
rank = p.get('placement', 20)
kills = p.get('kills', 0)
pts = PLACEMENT_POINTS.get(rank, 0) + min(kills, cap)
data['teams'][team]['matches'].append({'rank': rank, 'kills': kills, 'pts': pts})
added += 1
save_json(DATA_FILE, data)
await ctx.send(f"✅ {added}人自動登録! !collect で確認")
except Exception as e:
await ctx.send(f"❌ エラー: {e}")
@bot.command()
async def reset(ctx):
if not https://t.co/R33rBK9kJS.guild_permissions.administrator: return
global data
data = {'teams': {}, 'team_map': {}}
save_json(DATA_FILE, data)
await ctx.send("✅ リセット完了!")
@bot.command()
async def collect(ctx):
if not data['teams']:
await ctx.send("❌ チームなし!")
return
df_data = []
for team, info in data['teams'].items():
m = info['matches']
if m:
df_data.append({'team': team, 'pts': sum(x['pts'] for x in m), 'kills': sum(x['kills'] for x in m), 'matches': len(m), 'best': min(x['rank'] for x in m)})
df = pd.DataFrame(df_data).sort_values(['pts', 'kills', 'best'], ascending=[False, False, True]).reset_index(drop=True)
embed = discord.Embed(title="🔥 ALGSチーム集計", color=0xff6600)
embed.add_field(name="リーダーボード", value=https://t.co/lemnvabf6e_string(index=False), inline=False)
await ctx.send(embed=embed)
img = await generate_leaderboard(df)
await ctx.send(file=discord.File(io.BytesIO(img), 'leaderboard.png'))
async def generate_leaderboard(df):
text_color = config.get('text_color', 'white')
title_color = config.get('title_color', 'white')
sub_color = config.get('sub_color', 'yellow')
rank1_color = config.get('rank1_color', '#FFD700')
rank2_color = config.get('rank2_color', '#C0C0C0')
rank3_color = config.get('rank3_color', '#CD7F32')
bg_url = config.get('bg_url')
bg_color = tuple(int((config.get('bg_color', '#141426').lstrip('#')[i:i+2]), 16) for i in (0,2,4)) + (255,)
if bg_url:
try:
bg = https://t.co/wnJw0gyTeb(io.BytesIO(requests.get(bg_url).content)).resize((1920,1080)).convert('RGBA')
except:
bg = https://t.co/ovcsElsYoY('RGBA', (1920,1080), bg_color)
else:
bg = https://t.co/ovcsElsYoY('RGBA', (1920,1080), bg_color)
img = Image.alpha_composite(bg, https://t.co/ovcsElsYoY('RGBA', (1920,1080), (0,0,0,0)))
draw = ImageDraw.Draw(img)
try:
font_title = ImageFont.truetype("arial.ttf", 80)
font_sub = ImageFont.truetype("arial.ttf", 50)
font_row = ImageFont.truetype("arial.ttf", 45)
font_rank = ImageFont.truetype("arial.ttf", 55)
except:
font_title = font_sub = font_row = font_rank = ImageFont.load_default()
draw.text((100,60), "ALGS準拠 カスタム集計リーダーボード", fill=title_color, font=font_title)
draw.text((100,180), f"キル上限: {config.get('kill_cap',12)} | 自動: {'ON' if config.get('token') else 'OFF'}", fill=sub_color, font=font_sub)
y = 300
for i, row in df.head(20).iterrows():
rank_idx = i + 1
if rank_idx == 1: rank_text, rank_fill = "🥇 1位", rank1_color
elif rank_idx == 2: rank_text, rank_fill = "🥈 2位", rank2_color
elif rank_idx == 3: rank_text, rank_fill = "🥉 3位", rank3_color
else: rank_text, rank_fill = f"{rank_idx}位", text_color
line = f"{row['team'][:22].ljust(24)}総Pts: {row['pts']} 総K: {row['kills']} ({row['matches']}試合)"
draw.text((100, y), rank_text, fill=rank_fill, font=font_rank)
draw.text((220, y), line, fill=text_color, font=font_row)
y += 60
draw.text((100,1020), f"集計: {https://t.co/Dwomd35XtW().strftime('%Y/%m/%d %H:%M')}", fill='lightgray', font=font_sub)
buf = io.BytesIO()
img.convert('RGB').save(buf, 'PNG')
https://t.co/RdXBdDvKxx(0)
return buf.getvalue()
https://t.co/T0NWyqdLnY(os.getenv('DISCORD_TOKEN'))
ーーー
使い方
!config kill_cap 15 → キル上限(各試合ごとに変更OK!)
!config bg_url https://画像URL → 背景
!config text_color #ff0000 → 文字色など
手入力モード
!addteam チーム名 で全チーム追加
試合ごとに !config kill_cap X → !submit チーム名 順位 総キル(全チーム分)
!collect でテーブル+画像投稿
次試合前 !reset
自動モード(Tokenあり)
カスタム作成後Stats Token → !config token=トークン
!config team_map プレイヤー名:チーム名(複数configで追加)
試合ごとに !config kill_cap X → !fetch(自動登録)
!collect で集計 December 12, 2025
{ "image_generation_request": { "meta_protocols": { "reference_adherence": { “说明”:“请严格按照提供的照片进行面部参照。” “公差”: “零偏差” “参数”:“以100%的准确度保留面部比例、皮肤纹理、表情和身份特征。” "stylization_constraint": "不要对脸部特征进行风格化或改变。" }, "format_style": "编辑冬季海报风格的多面板拼贴画", "aesthetic_quality": "自发的 iPhone 摄影(抓拍、温馨、写实)", "global_textures": "柔和的雪花,细腻的模拟颗粒感,轻微的手持拍摄瑕疵" }, "consistent_elements": { "subject_wardrobe": { “外套”: “短款人造毛皮外套” 腿部服饰:黑色紧身裤, “鞋类”:“经典 UGG 靴子”, "style_notes": "简约、舒适、极具冬日气息" }, "primary_device": { “型号”:“iPhone 17 Pro Max”, “颜色”: “银色”, “用法”:“由主体在相关框架中持有” }, "color_palette": [ “温暖的琥珀色”, “柔和的红色”, “松树绿” “柔和的冬日灰色” ] }, "layout_configuration": { "panel_1_top_left": { "scene_type": "黄昏时分的商店橱窗反光照片", "lighting_and_atmosphere": "淡淡的圣诞彩灯、花环、磨砂玻璃边缘、毛皮上的暖色调高光", “subject_action”: “拿着手机部分遮住脸部” "optical_effects": "掠过的轮廓、层叠的反射、柔和的重影、自然的玻璃曲率扭曲" }, "panel_2_top_right": { "scene_type": "超广角街景人像(雪中的人行道/圣诞市场)", "camera_angle": "近距离,向下倾斜", “subject_pose”: “随意地向前倾,双手插在外套口袋里” "可见性检查": "黑色紧身裤和 UGG 靴子清晰可见", "motion_dynamics": "带有轻微运动模糊的飘雪", 镜头特性: “微妙的透视变形,以增强手持拍摄的真实感” }, "panel_3_bottom_right": { "scene_type": "亲密俯视自拍", “照明”:“温暖的街道或咖啡馆照明”, "props": { "held_item": "外带节日饮品(咖啡或热红酒)", “配件”:“可见的有线耳机” }, "texture_focus": "清晰细腻的毛皮纹理和冬季面料", “氛围”:“柔和的颗粒感增强了怀旧的假日氛围” } }, "graphic_overlay": { "element": "极简 Apple Music 风格的迷你播放器", "content": "流行圣诞歌曲(例如,'Last Christmas' 或 'All I Want for Christmas Is You')", “风格”:“渲染效果平整干净,没有阴影”, “位置”:“漂浮在拼贴画的中心” } } }#AI生成 #夫妻生活 #浪漫瞬间 #NanoBananaPro December 12, 2025
【集計 Discord BOT 完全無料ガイド】
Discord BOT作成
https://t.co/UkeM8Oj8OY へ
New Application → 名前入力 → Create
Bot → Add Bot → Reset Token → トークンコピー(超大事!)
Privileged Gateway Intents → Message Content Intent ON
OAuth2 → URL GeneratorScopes: bot
Permissions: Send Messages / Embed Links / Attach Files / Read Message History
生成URLで自分のサーバーにBOT招待!
2. Replitで無料常時稼働
https://t.co/K3N2Z2LWRN 無料登録
Create → Python → タイトル「apex-bot」など
Secrets(鍵アイコン)→ Key: DISCORD_TOKEN / Value: トークン貼り付け → Add
3. コード全部コピペ(https://t.co/COyPmSIC64に貼り替えてRun!)
ーーー
import discord
from discord.ext import commands
import pandas as pd
import json
import os
import requests
from PIL import Image, ImageDraw, ImageFont
import io
from datetime import datetime
intents = discord.Intents.default()
intents.message_content = True
bot = https://t.co/JVJCVDj2Lf(command_prefix='!', intents=intents)
PLACEMENT_POINTS = {1:12, 2:9, 3:7, 4:5, 5:4, 6:3, 7:3, 8:2, 9:2, 10:2, 11:1, 12:1, 13:1, 14:1, 15:1, 16:0, 17:0, 18:0, 19:0, 20:0}
CONFIG_FILE = 'config.json'
DATA_FILE = 'data.json'
def load_json(f): return json.load(open(f, 'r', encoding='utf-8')) if os.path.exists(f) else {'teams': {}, 'team_map': {}}
def save_json(f, d): json.dump(d, open(f, 'w', encoding='utf-8'), indent=4, ensure_ascii=False)
config = load_json(CONFIG_FILE)
data = load_json(DATA_FILE)
@bot.event
async def on_ready():
print(f'{bot.user} 起動完了!')
@bot.command()
async def config(ctx, key: str, value: str):
config[key] = value
save_json(CONFIG_FILE, config)
await ctx.send(f"✅ {key}={value} 設定OK!")
@bot.command()
async def addteam(ctx, *, team_name: str):
if team_name in data['teams']:
await ctx.send("❌ 既に存在")
return
data['teams'][team_name] = {'matches': []}
save_json(DATA_FILE, data)
await ctx.send(f"✅ 「{team_name}」追加!({len(data['teams'])}チーム)")
@bot.command()
async def submit(ctx, team_name: str, rank: int, kills: int):
if not https://t.co/R33rBK9kJS.guild_permissions.administrator:
await ctx.send("❌ 運営専用(管理者ロール)")
return
if team_name not in data['teams']:
await ctx.send("❌ !addteam で追加")
return
cap = int(config.get('kill_cap', 12))
pts = PLACEMENT_POINTS.get(rank, 0) + min(kills, cap)
data['teams'][team_name]['matches'].append({'rank': rank, 'kills': kills, 'pts': pts})
save_json(DATA_FILE, data)
await ctx.send(f"✅ 「{team_name}」: {rank}位 {kills}K → {pts}pt (上限{cap})")
@bot.command()
async def fetch(ctx):
token = config.get('token')
if not token:
await ctx.send("❌ Token未設定! !config token=XXXX")
return
try:
url = f"https://t.co/00h2pwFBKs{token}"
resp = requests.get(url).json()
participants = resp.get('lobbies', [{}])[0].get('participants', [])
cap = int(config.get('kill_cap', 12))
team_map = data.get('team_map', {})
added = 0
for p in participants:
player = p.get('name', '').lower()
team = None
for k, v in team_map.items():
if k.lower() in player or player in k.lower():
team = v
break
if team and team in data['teams']:
rank = p.get('placement', 20)
kills = p.get('kills', 0)
pts = PLACEMENT_POINTS.get(rank, 0) + min(kills, cap)
data['teams'][team]['matches'].append({'rank': rank, 'kills': kills, 'pts': pts})
added += 1
save_json(DATA_FILE, data)
await ctx.send(f"✅ {added}人自動登録! !collect で確認")
except Exception as e:
await ctx.send(f"❌ エラー: {e}")
@bot.command()
async def reset(ctx):
if not https://t.co/R33rBK9kJS.guild_permissions.administrator: return
global data
data = {'teams': {}, 'team_map': {}}
save_json(DATA_FILE, data)
await ctx.send("✅ リセット完了!")
@bot.command()
async def collect(ctx):
if not data['teams']:
await ctx.send("❌ チームなし!")
return
df_data = []
for team, info in data['teams'].items():
m = info['matches']
if m:
df_data.append({'team': team, 'pts': sum(x['pts'] for x in m), 'kills': sum(x['kills'] for x in m), 'matches': len(m), 'best': min(x['rank'] for x in m)})
df = pd.DataFrame(df_data).sort_values(['pts', 'kills', 'best'], ascending=[False, False, True]).reset_index(drop=True)
embed = discord.Embed(title="🔥 ALGSチーム集計", color=0xff6600)
embed.add_field(name="リーダーボード", value=https://t.co/lemnvabf6e_string(index=False), inline=False)
await ctx.send(embed=embed)
img = await generate_leaderboard(df)
await ctx.send(file=discord.File(io.BytesIO(img), 'leaderboard.png'))
async def generate_leaderboard(df):
text_color = config.get('text_color', 'white')
title_color = config.get('title_color', 'white')
sub_color = config.get('sub_color', 'yellow')
rank1_color = config.get('rank1_color', '#FFD700')
rank2_color = config.get('rank2_color', '#C0C0C0')
rank3_color = config.get('rank3_color', '#CD7F32')
bg_url = config.get('bg_url')
bg_color = tuple(int((config.get('bg_color', '#141426').lstrip('#')[i:i+2]), 16) for i in (0,2,4)) + (255,)
if bg_url:
try:
bg = https://t.co/wnJw0gyTeb(io.BytesIO(requests.get(bg_url).content)).resize((1920,1080)).convert('RGBA')
except:
bg = https://t.co/ovcsElsYoY('RGBA', (1920,1080), bg_color)
else:
bg = https://t.co/ovcsElsYoY('RGBA', (1920,1080), bg_color)
img = Image.alpha_composite(bg, https://t.co/ovcsElsYoY('RGBA', (1920,1080), (0,0,0,0)))
draw = ImageDraw.Draw(img)
try:
font_title = ImageFont.truetype("arial.ttf", 80)
font_sub = ImageFont.truetype("arial.ttf", 50)
font_row = ImageFont.truetype("arial.ttf", 45)
font_rank = ImageFont.truetype("arial.ttf", 55)
except:
font_title = font_sub = font_row = font_rank = ImageFont.load_default()
draw.text((100,60), "ALGS準拠 カスタム集計リーダーボード", fill=title_color, font=font_title)
draw.text((100,180), f"キル上限: {config.get('kill_cap',12)} | 自動: {'ON' if config.get('token') else 'OFF'}", fill=sub_color, font=font_sub)
y = 300
for i, row in df.head(20).iterrows():
rank_idx = i + 1
if rank_idx == 1: rank_text, rank_fill = "🥇 1位", rank1_color
elif rank_idx == 2: rank_text, rank_fill = "🥈 2位", rank2_color
elif rank_idx == 3: rank_text, rank_fill = "🥉 3位", rank3_color
else: rank_text, rank_fill = f"{rank_idx}位", text_color
line = f"{row['team'][:22].ljust(24)}総Pts: {row['pts']} 総K: {row['kills']} ({row['matches']}試合)"
draw.text((100, y), rank_text, fill=rank_fill, font=font_rank)
draw.text((220, y), line, fill=text_color, font=font_row)
y += 60
draw.text((100,1020), f"集計: {https://t.co/Dwomd35XtW().strftime('%Y/%m/%d %H:%M')}", fill='lightgray', font=font_sub)
buf = io.BytesIO()
img.convert('RGB').save(buf, 'PNG')
https://t.co/RdXBdDvKxx(0)
return buf.getvalue()
https://t.co/T0NWyqdLnY(os.getenv('DISCORD_TOKEN'))
ーーー
使い方
!config kill_cap 15 → キル上限(各試合ごとに変更OK!)
!config bg_url https://画像URL → 背景
!config text_color #ff0000 → 文字色など
手入力モード
!addteam チーム名 で全チーム追加
試合ごとに !config kill_cap X → !submit チーム名 順位 総キル(全チーム分)
!collect でテーブル+画像投稿
次試合前 !reset
自動モード(Tokenあり)
カスタム作成後Stats Token → !config token=トークン
!config team_map プレイヤー名:チーム名(複数configで追加)
試合ごとに !config kill_cap X → !fetch(自動登録)
!collect で集計 December 12, 2025
1部まさかのRequest😳
しかも配信予定とのこと。仕事の関係で2部のみの参加予定だけど移動中に観られるとは嬉しい!
#町ガ https://t.co/HaYF7qGw4a December 12, 2025
🇺🇸🗽📻 @platinumvibes8 さん
▶️
https://t.co/as7NEyCxkT
12/16-17 放送予定📻
(⚠️時間遅れや変更よくあります!)
ウィンマジ4曲リストイン❄
合計14曲 オンエアしていただいてます☺️
ぜひ 聴いて見てください🎧´‐
#wpvr #wpvrrequests
#wpvrrequestlive
#INI @official__INI https://t.co/I2b8hNetAP https://t.co/hbhFL2rjcT December 12, 2025
本日は『Melty Night: Naughty Claus』にいます!
🎄参加方法:nyalnyalさんにリクイン(2回まで)
🕚22:50に招待をリクエスト(Request invite)
詳細は引用ポスト、そこのポストのリプに
あるのでチェックしてね~!✨
どんな夜になるのか楽しみだねっ
#VRC_MeltyNight https://t.co/Ps9nf4jcaG https://t.co/ihNYOnqaA2 December 12, 2025
今日は、理由もわからない
{"message":"Request Error"}
にひたすら悩まされた。
危なく会社備品のモニターを殴るところだったわ。
Requestの、何がErrorなんですか?!?!?!
一回力貝じゃなくてcurlとかでやってみたらよかったかもしれない。 December 12, 2025
<ポストの表示について>
本サイトではXの利用規約に沿ってポストを表示させていただいております。ポストの非表示を希望される方はこちらのお問い合わせフォームまでご連絡下さい。こちらのデータはAPIでも販売しております。



