• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript steam-api.get函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中@server/utils/steam-api.get函数的典型用法代码示例。如果您正苦于以下问题:TypeScript get函数的具体用法?TypeScript get怎么用?TypeScript get使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了get函数的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1: fetchSteamData

async function fetchSteamData(
  profile: UserProfile,
  oneDaySinceLastUpdate: boolean,
): Promise<{ steam?: SteamProfile }> {
  try {
    const { data } = await steamApi.get(
      'ISteamUser/GetPlayerSummaries/v0002/',
      { params: { steamids: profile.id } },
    );
    const player = data.response.players[0];

    const [bans, friends] = await Promise.all([
      fetchVacBans(profile),
      fetchFriends(profile, oneDaySinceLastUpdate),
    ]);

    return {
      steam: {
        ...profile.steam,
        id: profile.id,
        name: player.personaname,
        customUrl: player.profileurl,
        avatar: {
          small: player.avatar,
          medium: player.avatarmedium,
          large: player.avatarfull,
        },
        ...friends,
        ...bans,
      },
    };
  } catch (error) {
    log('Error while requesting steam data', {
      userId: profile.id,
      error,
    });

    return {};
  }
}
开发者ID:TF2PickupNET,项目名称:TF2Pickup,代码行数:40,代码来源:fetch-steam-data.ts


示例2: validateHours

export default async function validateHours(hook: CreateBeforeHookContext<User>) {
  if (requiredHours === null) {
    return;
  }

  let hours = 0;

  try {
    const { data } = await steamApi.get('IPlayerService/GetOwnedGames/v0001/', {
      params: {
        steamid: hook.data.id,
        include_played_free_games: 1, // eslint-disable-line camelcase, @typescript-eslint/camelcase
      },
    });
    const games = data.response && data.response.games ? data.response.games : [];
    const game = games.find(({ appid }: { appid: number }) => appid === tf2AppId);

    hours = game ? Math.floor(game.playtime_forever / 60) : 0;
  } catch (error) {
    log('Error while getting tf2 hours for userId', {
      error,
      userId: hook.data.id,
    });

    throw new GeneralError(generalErrorMessage);
  }

  if (hours < requiredHours) {
    log('User doesn\'t have enough hours', {
      userId: hook.data.id,
      data: {
        hours,
        requiredHours,
      },
    });

    throw new Forbidden(notEnoughHoursMessage);
  }
}
开发者ID:TF2PickupNET,项目名称:TF2Pickup,代码行数:39,代码来源:validate-hours.ts


示例3: fetchVacBans

async function fetchVacBans(user: UserProfile): Promise<WithBans> {
  try {
    const params = { steamids: user.id };
    const result = await steamApi.get('ISteamUser/GetPlayerBans/v1/', { params });
    const player = result.data.players[0];

    return {
      isBanned: player.VACBanned && player.DaysSinceLastBan < 365,
      bannedUntil: addDays(new Date(), 365 - player.DaysSinceLastBan).getUTCSeconds(),
    };
  } catch (error) {
    log('Error while requesting VAC bans', {
      userId: user.id,
      error,
    });

    return {
      isBanned: false,
      bannedUntil: null,
    };
  }
}
开发者ID:TF2PickupNET,项目名称:TF2Pickup,代码行数:22,代码来源:fetch-vac-bans.ts


示例4: fetchFriends

async function fetchFriends(user: UserProfile, oneDaySinceLastUpdate: boolean) {
  if (!oneDaySinceLastUpdate) {
    return {};
  }

  try {
    const { data } = await steamApi.get('ISteamUser/GetFriendList/v0001/', {
      params: {
        steamid: user.id,
        relationship: 'friend',
      },
    });
    const friends = data.friendslist.friends.map((friend: Friend) => friend.steamid);

    return { friends };
  } catch (error) {
    log('Error while requesting steam friends', {
      userId: user.id,
      error,
    });

    return {};
  }
}
开发者ID:TF2PickupNET,项目名称:TF2Pickup,代码行数:24,代码来源:fetch-friends.ts



注:本文中的@server/utils/steam-api.get函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript one-of.default函数代码示例发布时间:2022-05-28
下一篇:
TypeScript get-player.default函数代码示例发布时间:2022-05-28
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap